/* Casa Ortiz — acabado compartido, conserva estructura y comportamiento. */
:root{--ui-ease:cubic-bezier(.22,1,.36,1);--ui-line:rgba(5,91,113,.18);--ui-shadow:0 2px 5px rgba(5,68,83,.035),0 8px 20px rgba(5,68,83,.055)}
/* Onda solapada: 1.05 s por letra, 140 ms entre vecinas. */
.marca-glyph{transform-origin:50% 72%;animation:brand-tide 4.2s cubic-bezier(.45,0,.55,1) infinite;animation-delay:var(--wave-delay,0s)}
.marca-txt:hover .marca-glyph,.marca-txt:focus-visible .marca-glyph{animation-name:brand-tide;animation-duration:4.2s}
@keyframes brand-tide{0%,25%,100%{transform:translateY(0) scale(1)}12.5%{transform:translateY(-1.8px) scale(1.14)}}
/* Controles con borde óptico, luz superior y profundidad contenida. */
.cab-ic,.cart-fab,.menu-btn,.cart-x,.mod-x,.car-btn{transition:background .22s ease,border-color .22s ease,box-shadow .28s ease,transform .32s var(--ui-ease)}
.cab-wa{background:linear-gradient(145deg,#fff 8%,#edf8f1 65%,#dcefe4);border:1px solid rgba(28,115,77,.2);box-shadow:inset 0 1px 0 #fff,var(--ui-shadow)}
.cab-wa svg{width:21px;height:21px;filter:drop-shadow(0 1px 0 #fff);fill:#16744d}
.cab-wa:hover{background:linear-gradient(145deg,#fff,#e2f3e8);box-shadow:inset 0 1px 0 #fff,0 5px 15px rgba(25,108,70,.13);transform:translateY(-1px)}
.cab-cart .cart-fab{background:linear-gradient(145deg,#fff,#edf6f8 62%,#deedf1);border:1px solid var(--ui-line);box-shadow:inset 0 1px 0 #fff,var(--ui-shadow)}
.cab-cart .cart-fab svg{width:23px;height:23px;stroke:#08718b;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 0 white)}
.cab-cart .cart-fab:hover{background:linear-gradient(145deg,#fff,#e2f1f5);box-shadow:inset 0 1px 0 #fff,0 5px 15px rgba(5,91,113,.14);transform:translateY(-1px)}
.buscador #q{background:linear-gradient(180deg,#f7fafb,#f1f6f7);border-color:rgba(5,75,94,.16);box-shadow:inset 0 1px 3px rgba(5,68,83,.035),0 1px 0 #fff;transition:border-color .22s,box-shadow .25s,background .25s}
.buscador #q:focus{background:#fff;border-color:rgba(5,128,160,.55);box-shadow:0 0 0 3px rgba(5,128,160,.09),inset 0 1px 2px rgba(5,68,83,.02)}
.buscador .lupa{stroke:#537984;stroke-width:1.65;stroke-linecap:round}
.buscador #q{color:#163e49;font-weight:400}
.buscador #q::placeholder{color:#71878d;opacity:1}
.q-x{color:#537984;border-radius:50%;transition:background .2s}
.q-x svg{stroke:currentColor;stroke-linecap:round}
.q-x:hover{background:rgba(5,128,160,.08)}
/* Jerarquía y lectura de las colecciones. */
.riel-kicker{font-size:.64rem;letter-spacing:.14em;color:#477b87;line-height:1.6;font-weight:600}
.riel-head h2{font-weight:400;letter-spacing:-.025em;line-height:1.15}
.ver-mas{letter-spacing:.11em;min-height:36px;align-items:center}
.rl-card{border-color:rgba(5,91,113,.12);box-shadow:0 2px 5px rgba(5,68,83,.025);transition:box-shadow .35s var(--ui-ease),border-color .25s,transform .35s var(--ui-ease)}
.rl-card:hover{border-color:rgba(5,91,113,.26);box-shadow:0 7px 22px rgba(5,68,83,.09)}
.rl-social-stat{font-variant-numeric:tabular-nums;letter-spacing:0;line-height:1.4}
.rl-social-stat svg{stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rl-social-stat.likes{background:linear-gradient(145deg,#fff,#fff3f2);border-color:rgba(176,65,58,.13)}
.rl-social-stat.comments{background:linear-gradient(145deg,#fff,#eef7f9);border-color:rgba(5,128,160,.13)}
/* Même vocabulaire de contrôle dans menu, fiche et commande. */
.btn{transition:background .22s,border-color .22s,box-shadow .28s,transform .32s var(--ui-ease)}
.btn-gold{box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 3px 8px rgba(5,91,113,.08)}
.btn svg,.cart svg,.menu-btn svg{stroke-linecap:round;stroke-linejoin:round}
.cart-x,.ci-qty button{min-width:36px;min-height:36px}
.cart-x:hover,.ci-qty button:hover{background:rgba(5,128,160,.07)}
.cart,.mod{transition-timing-function:var(--ui-ease)}
.cart-head h3{letter-spacing:-.025em;font-weight:400}
.ci-img{border:1px solid rgba(5,91,113,.1)}
.ci-qty{border-color:rgba(5,91,113,.2);box-shadow:inset 0 1px 2px rgba(5,68,83,.025)}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #0580a0;outline-offset:4px}
button:disabled{cursor:default}
@media(hover:hover){.cab-ic:active,.btn:active,.cart-fab:active{transform:scale(.97);transition-duration:.12s}}
@media(prefers-reduced-motion:reduce){.marca-glyph,.marca-txt:hover .marca-glyph,.marca-txt:focus-visible .marca-glyph{animation:none;transform:none}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Filtros y ficha: contornos y estados consistentes. */
.chip{min-height:40px;transition:background .22s,border-color .22s,color .22s,box-shadow .28s;box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
.chip[aria-pressed="true"]{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 3px 9px rgba(5,91,113,.12)}
.social-like,.social-submit{transition:background .22s,border-color .22s,box-shadow .28s,transform .3s var(--ui-ease)}
.social-like[aria-pressed="true"]{box-shadow:inset 0 1px 0 #fff,0 2px 6px rgba(176,65,58,.07)}
.social-form textarea{transition:border-color .2s,box-shadow .25s}

/* Evita superponer dos vistas durante la navegación del catálogo. */
.vista:not(.activa){visibility:hidden;transition:none}
.vista.activa{transition:opacity .32s ease,transform .42s var(--ui-ease),visibility 0s}
.spec{color:#526b73;border-color:rgba(5,75,94,.18);background:#fafcfc}
.fila:disabled{opacity:1;background:#f7f9f9}
.fila:disabled .m,.fila:disabled .p.no{color:#7b8589}
.fila:disabled .m i{border-color:#adb8bc}
@media(min-width:601px) and (max-width:1000px){.bar-title{display:none}}

/* Comando: legibilidad de etiquetas y selección con profundidad discreta. */
.ci-meta,.ci-qty button,.ci-del,.cart-ayuda,.cart-op .s,.cart-met .s,.cart-ag .s,.det-nota,.det-total .l{color:#526a73}
.cart-campo input::placeholder{color:#74868d}
.cart-campo input{transition:border-color .22s,box-shadow .25s;background:linear-gradient(180deg,#fafcfc,#fff)}
.cart-op,.cart-met,.cart-ag{transition:border-color .22s,background .22s,box-shadow .28s}
.cart-op .ic,.cart-met .ic{background:linear-gradient(145deg,#fff,#e9f3f6);box-shadow:inset 0 1px 0 #fff,0 2px 5px rgba(5,68,83,.035)}
.cart-op.on .ic,.cart-met.on .ic{background:linear-gradient(145deg,#0f8da6,#046e89);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 3px 8px rgba(5,91,113,.15)}
.cart-op.on,.cart-met.on,.cart-ag.on{box-shadow:inset 0 0 0 1px #0580a0,0 3px 10px rgba(5,91,113,.05)}

/* Marca original presente también en catálogo y ficha. */
.bar .marca-txt{display:flex;position:relative;width:112px;flex:none;line-height:0}
.bar .marca-word{display:flex;align-items:center;width:100%;overflow:visible}
.bar .marca-letter{display:block;flex:0 0 var(--slot);min-width:0;line-height:0}
.bar .marca-glyph{display:block;width:100%;height:auto}
.bar .logo-mark{width:34px;height:34px;fill:#0580a0}
.bar .logo-wave-trace{display:none}
.social-like .heart{display:flex;width:19px;height:19px}
.social-like .heart svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;transition:fill .22s,transform .32s var(--ui-ease)}
.social-like[aria-pressed="true"] .heart svg{fill:currentColor}
.info-symbol{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;flex:none}
.menu-item{transition:background .22s,border-color .22s,box-shadow .3s}
.menu-item:hover{box-shadow:0 4px 14px rgba(5,68,83,.06)}
.menu-item .foto{border:1px solid rgba(5,91,113,.1)}
.menu-item .m{color:#526a73}
.menu-x{min-width:40px;min-height:40px}
@media(max-width:420px){.social-head{align-items:flex-start;gap:12px;flex-wrap:wrap}.social-head h2{font-size:1.5rem}.social-form-foot{align-items:flex-start;flex-wrap:wrap}.bar .marca-txt{width:100px}}

.menu-item .m{font-size:.68rem;letter-spacing:.055em;line-height:1.5}
.menu-item .n{line-height:1.35;font-weight:500}
.menu-x svg,.cart-x svg{stroke:#526a73;stroke-width:1.65;stroke-linecap:round}
@media(pointer:coarse){.car-btn,.cart-x,.menu-x,.ci-qty button{min-width:44px;min-height:44px}}

@media(max-width:600px){
 .bar{padding-inline:16px;gap:8px}
 .bar .marca-ic{width:36px;height:44px}
 .bar .marca-txt{width:100px;margin:0}
 .bar-der{gap:8px;min-width:0}
 .bar-act{min-width:0;max-width:104px;gap:5px;letter-spacing:.06em}
 .bar-act span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:82px}
 .bar-act svg{flex:none}
 .bar .cart-fab.en-barra{width:40px;height:40px}
}

/* Navegación y resultados: etiquetas legibles, foco inequívoco. */
.cab-nav a{font-size:.72rem;font-weight:500;color:#46616a;line-height:1.5;letter-spacing:.01em}
.cab-nav a:hover,.cab-nav a:focus-visible{color:#056e89}
.q-item{transition:background .18s,border-color .18s}
.q-item.sel,.q-item:focus-visible{background:#eaf5f8;box-shadow:inset 3px 0 0 #0580a0;outline:none}
.q-item .c{color:#486e79}
.q-vacio{color:#526a73;line-height:1.75}

.cart-campo span{font-size:.65rem;letter-spacing:.1em;color:#526a73;line-height:1.5}
.cart-campo input{min-height:46px}
.cart-step,.cart-pasos{font-variant-numeric:tabular-nums}
@media(max-width:600px){.cart-campo input{font-size:16px}.cart-op .s,.cart-ag .s,.cart-met .s{line-height:1.5}}
/* Mismo acabado de precisión en mandos de carrusel y redes. */
.car-btn,.pt-flecha,.soc{transition:background .22s,border-color .22s,box-shadow .28s,transform .32s var(--ui-ease)}
.car-btn svg,.pt-flecha svg,.soc svg{stroke-linecap:round;stroke-linejoin:round}
.soc:focus-visible{outline:2px solid #0580a0;outline-offset:4px}
.car-btn:disabled{opacity:.4;transform:none;box-shadow:none}

.tp-social-stat{font-variant-numeric:tabular-nums;letter-spacing:0;line-height:1.4}
.tp-social-stat svg{stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tp-social-stat.likes{background:linear-gradient(145deg,#fff,#fff3f2);border-color:rgba(176,65,58,.13)}
.tp-social-stat.comments{background:linear-gradient(145deg,#fff,#eef7f9);border-color:rgba(5,128,160,.13)}
.cart-line,.cart-total .l{color:#526a73}
@media(max-width:420px){.cart-foot{padding:14px 20px 18px}.cart-line{margin-bottom:7px}.cart-total{padding-top:12px;margin-bottom:13px}.cart-btns{gap:8px}.cart-btns .btn{min-height:46px}}

/* Cabecera de categoría: conserva contraste sobre cualquier fotografía. */
.cat-hero::after{background:linear-gradient(180deg,rgba(4,38,49,.12) 15%,rgba(4,38,49,.8) 100%)}
.cat-hero h1{color:#fff;text-shadow:0 2px 14px rgba(0,20,28,.22)}
.cat-hero p{color:#e5f0f3;text-shadow:0 1px 6px rgba(0,20,28,.2)}
.chip{color:#526a73}
.chip[aria-pressed="true"]{color:#fff}

.foot-brand p,.foot-col a{color:#526a73}
.foot-brand .sub,.foot-bottom{color:#627780}
.foot-col a:hover{color:#056e89}
.foot-col a{display:inline-block;padding-block:3px;transition:color .2s}
.soc{background:linear-gradient(145deg,#fff,#eaf4f6);box-shadow:inset 0 1px 0 #fff,0 2px 5px rgba(5,68,83,.025)}

#inicio,#nieva,#tienda{scroll-margin-top:var(--header-clearance,180px)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important}.marca-glyph{animation:none!important}}

/* Dirección material: papel tejido, tinta turquesa y esmalte con relieve. */
.cab-wa,.cab-wa:hover,.cab-wa:focus-visible,.cab-cart .cart-fab,.cab-cart .cart-fab:hover,.cart-fab.en-barra,.cart-fab.en-barra:hover{background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}
.cab-wa .wa-crafted{display:block;width:44px;height:44px;max-width:none;transition:transform .45s var(--ui-ease),filter .45s;filter:drop-shadow(0 2px 2px rgba(5,65,70,.12))}
.cab-wa:hover .wa-crafted,.cab-wa:focus-visible .wa-crafted{transform:translateY(-1px) scale(1.08);filter:drop-shadow(0 4px 4px rgba(5,65,70,.22))}
.cab-cart .cart-fab .co-bag,.cart-fab.en-barra .co-bag{width:46px;height:52px;max-width:none;flex:none;stroke:none;fill:none;filter:none;transition:transform .5s var(--ui-ease)}
.cart-fab:hover .co-bag,.cart-fab:focus-visible .co-bag{transform:translateY(-2px) rotate(-4deg) scale(1.1)}
.cart-empty .co-bag{display:block;width:140px;height:160px;margin:0 auto 20px;stroke:none;fill:none;filter:none;animation:bag-unfold .75s var(--ui-ease) both}
@keyframes bag-unfold{from{transform:translateY(12px) scale(.86);opacity:0}to{transform:none;opacity:1}}
.marca-glyph{filter:drop-shadow(0 .55px 0 rgba(3,58,78,.3)) drop-shadow(0 1.5px 1px rgba(5,90,107,.12))}
.logo-mark .logo-frame{fill:url(#co-enamel);filter:url(#co-relief)}
.logo-mark .logo-pillow,.logo-mark .logo-sheet{fill:url(#co-satin);filter:url(#co-relief)}
.logo-mark{filter:drop-shadow(0 1px 0 rgba(255,255,255,.8)) drop-shadow(0 2px 1.5px rgba(5,75,95,.23))}
.marca-ic:hover,.marca-ic:focus-visible{background:transparent;box-shadow:none}
@media(max-width:380px){.cab-wa .wa-crafted{width:40px;height:40px}.cab-cart .cart-fab .co-bag{width:42px;height:48px}}

.cart-brand-detail{display:flex;justify-content:center;padding:10px 0 4px}
.cart-brand-detail .co-bag{width:112px;height:128px;stroke:none;fill:none;animation:bag-unfold .65s var(--ui-ease) both}
@media(prefers-reduced-motion:reduce){.cart-brand-detail .co-bag,.cart-empty .co-bag{animation:none}.cart-fab:hover .co-bag,.cab-wa:hover .wa-crafted{transform:none}}

/* Ajuste óptico: menos protagonismo de las herramientas y contornos suaves. */
.cab-fila .marca-txt{width:clamp(138px,calc(14vw - 12px),172px)}
.marca-glyph{filter:drop-shadow(0 .35px .35px rgba(3,66,83,.12))}
.cab-acts{gap:16px}
.cab-wa .wa-crafted{width:30px;height:30px;filter:none}
.cab-cart .cart-fab .co-bag,.cart-fab.en-barra .co-bag{width:34px;height:39px}
.cart-fab:hover .co-bag,.cart-fab:focus-visible .co-bag{transform:translateY(-1px) scale(1.06)}
.cab-wa:hover .wa-crafted,.cab-wa:focus-visible .wa-crafted{transform:translateY(-1px) scale(1.05);filter:drop-shadow(0 1px 1px rgba(5,65,70,.15))}
@media(max-width:900px){.cab-fila .marca-txt{width:clamp(120px,calc(28vw - 12px),162px)}}
@media(max-width:380px){.cab-fila .marca-txt{width:112px}.cab-acts{gap:12px}.cab-wa .wa-crafted{width:28px;height:28px}.cab-cart .cart-fab .co-bag{width:31px;height:36px}}
.bar .marca-txt{width:100px}
@media(max-width:600px){.bar .marca-txt{width:90px}}
