@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;1,500&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --cream:#FAF7F2;
  --cream-dark:#F0EBE3;
  --stone:#E8E2D9;
  --earth:#7B6348;
  --olive:#5D6F52;
  --olive-dark:#405238;
  --gold:#C5A55A;
  --gold-light:#D4BA78;
  --charcoal:#30302E;
  --muted:#6F6A63;
  --white:#FFFFFF;
  --whatsapp:#147D3D;
  --font-serif:'Playfair Display',Georgia,serif;
  --font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --shadow:0 16px 50px rgba(48,48,46,.10),0 2px 10px rgba(48,48,46,.06);
  --radius:18px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-sans);background:var(--cream);color:var(--charcoal);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,textarea,select{font:inherit}
img{display:block;max-width:100%}
:focus-visible{outline:3px solid var(--olive-dark);outline-offset:4px}

.skip-link{position:fixed;top:12px;left:12px;z-index:10;padding:10px 14px;background:var(--charcoal);color:var(--white);border-radius:8px;transform:translateY(-140%);transition:transform .2s ease}
.skip-link:focus{transform:translateY(0)}

.hero{position:relative;min-height:92svh;display:grid;place-items:center;overflow:hidden;text-align:center}
.hero__bg,.hero__overlay{position:absolute;inset:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.82)}
.hero__overlay{background:linear-gradient(180deg,rgba(34,29,24,.48),rgba(34,29,24,.76))}
.hero__content{position:relative;z-index:1;width:min(720px,100%);padding:48px 22px;color:var(--white);animation:rise .8s cubic-bezier(.2,.8,.2,1) both}
.section-badge{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;color:var(--gold-light);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.section-badge::before{content:"";width:30px;height:2px;background:var(--gold)}
.hero h1{margin:0;font-family:var(--font-serif);font-size:clamp(2.4rem,12vw,5rem);line-height:.96;font-weight:600}
.hero p{max-width:560px;margin:20px auto 0;color:rgba(255,255,255,.82);font-size:clamp(.96rem,3vw,1.12rem)}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px}

.btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 22px;border-radius:999px;border:0;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn--light{background:var(--white);color:var(--charcoal)}
.btn--ghost{color:var(--white);border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.10);backdrop-filter:blur(8px)}
.btn--whatsapp{width:100%;background:var(--whatsapp);color:var(--white);box-shadow:0 12px 30px rgba(20,125,61,.22)}
.btn--whatsapp.is-disabled{pointer-events:none;opacity:.45;box-shadow:none}

.catalog-shell{width:min(1180px,100%);margin:0 auto;padding:42px 20px 72px}
.catalog-header{display:grid;gap:18px;margin-bottom:18px}
.catalog-header h2{margin:0;font-family:var(--font-serif);font-size:clamp(2rem,7vw,3rem);line-height:1.05}
.catalog-header p{max-width:620px;margin:10px 0 0;color:var(--muted)}
.catalog-side{display:grid;gap:10px}
.catalog-stats{display:grid;gap:2px;padding:16px 18px;border-radius:var(--radius);background:var(--cream-dark);border:1px solid var(--stone)}
.catalog-stats span{color:var(--earth);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.catalog-stats strong{font-family:var(--font-serif);font-size:1.55rem;line-height:1.1;color:var(--charcoal)}
.catalog-stats small{color:var(--muted);font-weight:700}
.pdf-toggle{min-height:46px;border:1px solid var(--stone);border-radius:999px;background:var(--white);color:var(--olive-dark);font-weight:900;padding:0 18px;cursor:pointer;box-shadow:0 2px 12px rgba(48,48,46,.04)}
.pdf-toggle[aria-expanded="true"]{background:var(--olive);border-color:var(--olive);color:var(--white)}

.catalog-controls{display:grid;gap:12px;margin:0 0 18px;padding:14px;border:1px solid var(--stone);border-radius:22px;background:rgba(255,255,255,.58);box-shadow:0 12px 34px rgba(48,48,46,.06)}
.search-panel{min-width:0;margin:0}
.pdf-library[hidden]{display:none}
.pdf-library{margin:0 0 18px;padding:16px;border:1px solid var(--stone);border-radius:16px;background:rgba(255,255,255,.64);box-shadow:0 10px 34px rgba(48,48,46,.07);overflow:hidden}
.pdf-library__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}
.pdf-library h3{margin:0;font-family:var(--font-serif);font-size:1.55rem;line-height:1.1}
.pdf-library p{max-width:520px;margin:5px 0 0;color:var(--muted);font-size:.86rem}
.pdf-reset{min-height:44px;border:1px solid var(--stone);border-radius:999px;background:var(--white);color:var(--olive-dark);font-weight:800;padding:8px 14px;cursor:pointer}
.catalog-search{display:grid;gap:7px;margin-bottom:0;color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.catalog-search input{width:100%;min-height:48px;border:1px solid var(--stone);border-radius:999px;background:var(--white);color:var(--charcoal);padding:0 18px;font:600 1rem var(--font-sans);letter-spacing:0;text-transform:none}
.catalog-search input::placeholder{color:rgba(111,106,99,.76)}
.pdf-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,82vw);gap:12px;overflow-x:auto;padding:2px 2px 14px;scroll-snap-type:x proximity}
.pdf-tile{scroll-snap-align:start;display:grid;grid-template-columns:1fr;align-items:stretch;gap:0;border:1px solid var(--stone);border-radius:16px;background:var(--white);box-shadow:0 2px 12px rgba(48,48,46,.04);overflow:hidden}
.pdf-tile.is-active{border-color:var(--olive);box-shadow:0 10px 30px rgba(64,82,56,.12)}
.pdf-tile__select{min-width:0;display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center;padding:12px;border:0;background:transparent;text-align:left;cursor:pointer}
.pdf-tile__logo{width:54px;height:54px;display:grid;place-items:center;border-radius:12px;background:var(--cream-dark);border:1px solid var(--stone);overflow:hidden;color:var(--olive-dark);font-family:var(--font-serif);font-size:1.35rem;font-weight:700}
.pdf-tile__logo img{width:44px;max-height:38px;object-fit:contain}
.pdf-tile__body{min-width:0;display:grid;gap:1px}
.pdf-tile__body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.96rem;line-height:1.25}
.pdf-tile__body small,.pdf-tile__body em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.75rem;font-style:normal;font-weight:700}
.pdf-tile__body em{color:var(--earth)}
.pdf-open{min-height:44px;display:grid;place-items:center;padding:0 12px;border-top:1px solid var(--stone);color:var(--olive-dark);font-size:.82rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.pdf-open--muted{color:var(--muted);text-decoration:none}

.toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:0;margin:0}
.filter-select,.variant-select{display:grid;gap:7px;color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.filter-select{width:100%;flex:1 1 240px;max-width:none}
.filter-select>span:first-child,.variant-select__label{display:flex;align-items:center;justify-content:space-between;gap:10px;line-height:1.1}
.variant-select__label em{flex:0 0 auto;font-style:normal;color:var(--earth);font-size:.62rem;letter-spacing:.04em;white-space:nowrap}
.select-shell{position:relative;display:block}
.select-shell::after{content:"";position:absolute;right:17px;top:50%;width:9px;height:9px;border-right:2px solid var(--olive-dark);border-bottom:2px solid var(--olive-dark);transform:translateY(-68%) rotate(45deg);pointer-events:none}
.select-shell select{width:100%;min-width:0;border:1px solid var(--stone);appearance:none;-webkit-appearance:none;background:linear-gradient(180deg,var(--white),#F8F4EE);color:var(--charcoal);cursor:pointer;letter-spacing:0;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.select-shell select:hover{border-color:rgba(93,111,82,.55);background:var(--white)}
.select-shell select:focus-visible{outline:3px solid rgba(64,82,56,.22);outline-offset:2px;border-color:var(--olive)}
.select-shell--filter select{min-height:50px;border-radius:999px;padding:0 48px 0 17px;font:900 1rem var(--font-sans);box-shadow:0 4px 16px rgba(48,48,46,.05)}
.filter-clear{min-height:50px;border:1px solid var(--stone);border-radius:999px;background:var(--cream-dark);color:var(--olive-dark);font-weight:900;padding:0 17px;cursor:pointer}
.filter-clear:hover{border-color:var(--olive);background:var(--white)}
.filter-clear[hidden]{display:none}

.product-layout{display:grid;gap:20px}
.products-area{min-width:0}
.results-status{min-height:24px;margin:0 0 10px;color:var(--muted);font-size:.86rem;font-weight:700}
.products-grid{display:grid;grid-template-columns:1fr;gap:14px;align-content:start;align-items:start}
.product-card{position:relative;display:grid;grid-template-rows:auto auto auto;gap:13px;overflow:hidden;isolation:isolate;padding:18px;border-radius:22px;background:linear-gradient(180deg,var(--white) 0%,#FFFDF9 100%);box-shadow:0 10px 30px rgba(48,48,46,.07),0 1px 0 rgba(255,255,255,.8) inset;border:1px solid rgba(232,226,217,.92);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.product-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(255,253,249,.5) 0%,rgba(255,253,249,.42) 52%,rgba(255,253,249,.78) 100%),linear-gradient(90deg,rgba(255,253,249,.78) 0%,rgba(255,253,249,.44) 46%,rgba(255,253,249,.2) 100%),linear-gradient(180deg,rgba(197,165,90,.14),rgba(93,111,82,0) 24%);pointer-events:none}
.product-card.has-product-bg::after{content:"";position:absolute;inset:-10px;z-index:0;background-image:var(--product-bg-image);background-repeat:no-repeat;background-position:center;background-size:cover;opacity:.72;filter:blur(3px) saturate(1.08) contrast(1.02);transform:scale(1.04);mix-blend-mode:multiply;pointer-events:none}
.product-card:hover{transform:translateY(-2px);border-color:rgba(93,111,82,.28);box-shadow:0 16px 38px rgba(48,48,46,.10),0 1px 0 rgba(255,255,255,.8) inset}
.product-card__top,.product-card__info,.qty-control{position:relative;z-index:2}
.product-card__top{display:grid;grid-template-columns:88px minmax(0,1fr);gap:15px;align-items:start}
.product-card__body{min-width:0}
.product-media-button{width:88px;height:88px;padding:0;border:0;border-radius:18px;background:transparent;cursor:zoom-in}
.product-media-button:hover .product-logo-frame{transform:translateY(-1px);border-color:rgba(93,111,82,.38);box-shadow:0 12px 26px rgba(48,48,46,.10)}
.product-logo-frame,.product-mark,.product-image{width:88px;height:88px;flex:0 0 auto;border-radius:18px;border:1px solid var(--stone);box-shadow:0 8px 22px rgba(48,48,46,.06)}
.product-logo-frame{display:grid;place-items:center;background:rgba(250,247,242,.86);backdrop-filter:blur(6px);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.product-logo{display:block;width:72px;max-height:54px;object-fit:contain}
.product-logo--alcaraz{width:78px;max-height:38px}
.product-logo--shio{width:62px;max-height:62px;border-radius:12px}
.product-mark{display:grid;place-items:center;background:radial-gradient(circle at 35% 22%,#fff 0,#fff 34%,var(--cream-dark) 100%);font-family:var(--font-serif);font-size:1.45rem;font-weight:600;color:var(--olive-dark)}
.product-image{object-fit:contain;background:radial-gradient(circle at 48% 36%,#fff 0,#fff 38%,var(--cream-dark) 100%);padding:10px;transition:transform .18s ease}
.product-mark{transition:transform .18s ease}
.product-source{display:block;margin-bottom:7px;color:var(--earth);font-size:.7rem;font-weight:900;letter-spacing:.12em;line-height:1.15;text-transform:uppercase}
.product-card h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;font-family:var(--font-serif);font-size:1.22rem;line-height:1.08}
.product-title-button{display:inline;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;line-height:inherit;text-align:left;cursor:pointer}
.product-title-text{background-image:linear-gradient(rgba(48,48,46,.36),rgba(48,48,46,.36));background-repeat:repeat-x;background-size:100% 1px;background-position:0 calc(100% - 2px);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.product-title-button:hover{color:var(--olive-dark)}
.product-title-button:hover .product-title-text{background-image:linear-gradient(var(--olive-dark),var(--olive-dark))}
.product-source,.product-card h3,.price{text-shadow:0 1px 16px rgba(255,253,249,.82)}
.product-card__info{display:grid;gap:8px}
.variant-select{margin-top:0;color:var(--earth)}
.variant-select .select-shell select{min-height:44px;border-radius:14px;padding:0 34px 0 12px;color:var(--olive-dark);font:900 .84rem var(--font-sans);box-shadow:inset 0 0 0 1px rgba(255,255,255,.56),0 2px 10px rgba(48,48,46,.04)}
.variant-select .select-shell::after{right:13px;width:8px;height:8px}
.product-details{display:flex;flex-wrap:wrap;gap:5px;margin-top:0}
.product-details span{max-width:100%;display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid rgba(232,226,217,.9);border-radius:999px;background:rgba(250,247,242,.72);color:var(--olive-dark);font-size:.68rem;font-weight:850;line-height:1.15}
.product-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px;margin-top:2px;padding-top:0}
.pill{display:inline-flex;margin-top:10px;padding:5px 11px;border-radius:999px;background:var(--cream-dark);color:var(--earth);font-size:.72rem;font-weight:850}
.product-meta .pill{min-width:0;max-width:100%;justify-self:start;margin-top:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-detail-link{width:max-content;min-height:30px;margin-top:8px;padding:5px 10px;border:1px solid rgba(64,82,56,.18);border-radius:999px;background:rgba(255,255,255,.64);color:var(--olive-dark);font-size:.7rem;font-weight:900;cursor:pointer;box-shadow:0 1px 10px rgba(48,48,46,.04);transition:background .16s ease,border-color .16s ease,transform .16s ease}
.product-detail-link:hover{background:var(--white);border-color:rgba(64,82,56,.38);transform:translateY(-1px)}
.price{font-size:.98rem;line-height:1;color:var(--olive-dark);font-weight:950;letter-spacing:.01em}
.product-meta .price{justify-self:end}
.qty-control{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;min-height:50px;border:1px solid var(--stone);border-radius:999px;overflow:hidden;background:linear-gradient(180deg,#FFFEFC,var(--cream));box-shadow:inset 0 1px 0 rgba(255,255,255,.82)}
.qty-control button{height:50px;border:0;background:transparent;font-size:1.2rem;font-weight:900;color:var(--olive-dark);cursor:pointer;transition:background .16s ease}
.qty-control button:hover{background:rgba(93,111,82,.08)}
.qty-control output{text-align:center;font-weight:950;color:var(--charcoal);font-size:1.05rem}

.order-panel{position:static;align-self:start;display:grid;gap:12px;padding:16px;border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 10px 40px rgba(48,48,46,.10);border:1px solid var(--stone);backdrop-filter:blur(12px)}
.order-panel__head{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;font-weight:800}
.order-panel__close{display:none;width:36px;height:36px;border:1px solid var(--stone);border-radius:999px;background:var(--white);color:var(--olive-dark);font-size:1.25rem;line-height:1;cursor:pointer}
.order-list{display:grid;gap:8px;max-height:clamp(96px,18svh,180px);overflow:auto}
.order-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--stone);font-size:.9rem}
.order-row span{display:grid;gap:2px}
.order-row small{color:var(--muted);font-size:.76rem}
.order-total{display:flex;justify-content:space-between;gap:12px;padding-top:10px;font-size:.92rem;font-weight:800}
.empty-state{margin:0;color:var(--muted);font-size:.9rem}
.product-empty{grid-column:1/-1;padding:24px;border:1px dashed var(--stone);border-radius:16px;background:rgba(255,255,255,.5);text-align:center}
.inline-link{display:inline-flex;min-height:44px;align-items:center;color:var(--olive-dark);font-weight:800;text-decoration:underline;text-underline-offset:4px}
textarea{width:100%;resize:vertical;border:1px solid var(--stone);border-radius:12px;background:var(--cream);color:var(--charcoal);padding:10px 12px}
.message-preview{min-height:118px;max-height:clamp(118px,22svh,190px);resize:none;overflow:auto;font-size:.82rem}
.message-warning{margin:0 0 12px;color:#8A4B16;font-size:.84rem;font-weight:700}
.order-actions{display:grid;gap:10px;padding-top:2px;background:linear-gradient(180deg,rgba(255,255,255,.70),rgba(255,255,255,.96))}
.btn--copy{width:100%;border:1px solid var(--stone);background:var(--white);color:var(--olive-dark)}
.btn--copy:disabled{opacity:.48;cursor:not-allowed;transform:none}
.load-more{width:100%;min-height:48px;margin-top:14px;border:1px solid var(--stone);border-radius:999px;background:var(--white);color:var(--olive-dark);font-weight:800;cursor:pointer}
.mobile-order-bar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:8;display:block}
.mobile-order-bar[hidden]{display:none}
.mobile-order-bar button{width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid rgba(64,82,56,.22);border-radius:999px;background:var(--olive-dark);color:var(--white);box-shadow:0 16px 40px rgba(48,48,46,.26);padding:0 20px;font-weight:800;cursor:pointer}
.mobile-order-bar span{color:rgba(255,255,255,.78)}
.order-panel-backdrop{position:fixed;inset:0;z-index:18;background:rgba(34,29,24,.28);backdrop-filter:blur(4px)}
.order-panel-backdrop[hidden]{display:none}
.product-modal[hidden]{display:none}
.product-modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px}
.product-modal__backdrop{position:absolute;inset:0;background:rgba(34,29,24,.34);backdrop-filter:blur(6px)}
.product-modal__panel{position:relative;z-index:1;width:min(860px,100%);max-height:calc(100svh - 40px);display:grid;overflow:auto;padding:22px;border:1px solid var(--stone);border-radius:26px;background:linear-gradient(180deg,var(--white),#FFFDF9);box-shadow:0 26px 90px rgba(48,48,46,.28)}
.product-modal__close{position:absolute;top:16px;right:16px;width:42px;height:42px;z-index:2;border:1px solid var(--stone);border-radius:999px;background:var(--white);color:var(--olive-dark);font-size:1.35rem;font-weight:900;line-height:1;cursor:pointer}
.product-modal__body{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(0,1.15fr);gap:24px;align-items:start}
.product-modal__media{min-height:300px;display:grid;place-items:center;border:1px solid var(--stone);border-radius:22px;background:radial-gradient(circle at 50% 35%,#fff 0,#fff 38%,var(--cream-dark) 100%)}
.product-modal__image{width:100%;max-width:320px;max-height:320px;object-fit:contain;padding:20px}
.product-modal__mark{width:180px;height:180px;display:grid;place-items:center;border:1px solid var(--stone);border-radius:28px;background:var(--cream-dark);font-family:var(--font-serif);font-size:4rem;color:var(--olive-dark)}
.product-modal__content{min-width:0;padding-right:42px}
.product-modal__content h2{margin:4px 0 12px;font-family:var(--font-serif);font-size:clamp(1.7rem,4vw,2.45rem);line-height:1.02}
.product-modal__description{margin:0 0 18px;color:var(--muted);font-size:1rem;line-height:1.55}
.product-modal__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.product-modal__facts div{padding:10px 12px;border:1px solid rgba(232,226,217,.9);border-radius:14px;background:rgba(250,247,242,.7)}
.product-modal__facts dt{color:var(--earth);font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.product-modal__facts dd{margin:2px 0 0;color:var(--charcoal);font-weight:850;line-height:1.2}
.product-modal__variants{display:grid;gap:8px;margin-top:16px}
.product-modal__variants>strong{color:var(--earth);font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.product-modal__variants div{display:flex;flex-wrap:wrap;gap:6px}
.product-modal__variants span{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid var(--stone);border-radius:999px;background:var(--cream);color:var(--olive-dark);font-size:.78rem;font-weight:850}
.product-modal__variants span.is-active{background:var(--olive-dark);border-color:var(--olive-dark);color:var(--white)}

.footer{padding:28px 20px;text-align:center;background:#1E1E1E;color:rgba(255,255,255,.6);font-size:.82rem}

@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

body.product-modal-open{overflow:hidden}

@media(max-width:719px){
  body.order-sheet-open{overflow:hidden}
  .catalog-controls{position:sticky;top:0;z-index:7;margin:0 -20px 12px;padding:10px 20px 12px;border-radius:0;border-width:0 0 1px;background:rgba(250,247,242,.94);border-bottom:1px solid rgba(232,226,217,.9);box-shadow:0 10px 26px rgba(48,48,46,.08);backdrop-filter:blur(12px)}
  .catalog-controls .catalog-search{margin-bottom:8px}
  .catalog-controls .toolbar{padding:0;margin:0}
  .catalog-controls .catalog-search input,.catalog-controls .select-shell--filter select,.catalog-controls .filter-clear{min-height:44px}
  .catalog-controls .filter-select{max-width:none}
  .product-card{padding:14px;border-radius:18px}
  .product-card__top{gap:12px}
  .product-card h3{font-size:1.16rem}
  .product-meta{padding-top:0}
  .order-panel{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:19;height:min(88svh,720px);max-height:calc(100svh - 20px);grid-template-rows:auto minmax(0,1fr) minmax(112px,.8fr) auto auto;overflow:hidden;border-radius:24px;box-shadow:0 24px 80px rgba(48,48,46,.28);transform:translateY(110%);opacity:0;pointer-events:none;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease}
  .order-panel.is-open{transform:translateY(0);opacity:1;pointer-events:auto}
  .order-panel__close{display:grid;place-items:center}
  .order-list{min-height:0;max-height:none;overflow:auto}
  .message-preview{height:100%;min-height:0;max-height:none;resize:none}
  .order-actions{align-self:end}
  .product-modal{align-items:end;padding:10px}
  .product-modal__panel{width:100%;max-height:88svh;padding:16px;border-radius:24px 24px 20px 20px}
  .product-modal__body{grid-template-columns:1fr;gap:14px}
  .product-modal__media{min-height:210px;border-radius:20px}
  .product-modal__image{max-height:220px;padding:16px}
  .product-modal__mark{width:150px;height:150px;font-size:3.2rem}
  .product-modal__content{padding-right:0}
  .product-modal__content h2{font-size:1.85rem;padding-right:46px}
  .product-modal__facts{grid-template-columns:1fr}
}

@media(min-width:720px){
  .catalog-header{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start}
  .catalog-side{justify-self:end;width:100%}
  .catalog-controls{grid-template-columns:minmax(0,1fr) minmax(240px,320px);align-items:end}
  .catalog-controls .toolbar{display:block}
  .pdf-grid{grid-auto-flow:initial;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding-bottom:4px}
  .pdf-tile{grid-template-columns:1fr auto}
  .pdf-open{min-width:76px;border-top:0;border-left:1px solid var(--stone)}
  .products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .order-panel{position:sticky;top:24px;height:calc(100svh - 48px);max-height:calc(100svh - 48px);grid-template-rows:auto minmax(0,1fr) minmax(118px,.85fr) auto auto;overflow:hidden;border-radius:var(--radius)}
  .order-panel-backdrop{display:none!important}
  .order-list{min-height:0;max-height:none;overflow:auto}
  .message-preview{height:100%;min-height:0;max-height:none;resize:none}
  .order-actions{align-self:end}
  .mobile-order-bar{display:none}
}

@media(min-width:1040px){
  .product-layout{grid-template-columns:minmax(0,1fr) 340px}
  .pdf-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
  .products-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
}

@media(min-width:1180px){
  .product-layout{grid-template-columns:minmax(0,1fr) 320px}
  .products-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}
