/* Implementation against the approved screen references, area by area.
   Photographs below are lossless crops of those exact approved images. */
:root { --pink:#bc430d; --pink-dark:#a63207; --ink:#412b21; --bg:#fbf7ef; --paper:#fcf9f3; --line:#eddcc9; --serif:Georgia,'Times New Roman',serif; }
body { background:var(--bg); }
h1,h2 { font-family:var(--serif); font-weight:600; letter-spacing:-.045em; }
h1 em,h2 em { color:var(--pink); font-style:normal; }
.container { width:min(1374px,calc(100% - 72px)); }
.site-header { background:#fbf7eff8; }
.header-inner { max-width:1440px; padding:10px 64px; min-height:105px; gap:24px; }
.brand img.brand-horizontal { width:326px; height:88px; border-radius:0; object-fit:contain; }
.brand-symbol,.admin-header-title { display:none; }
.desktop-nav { gap:28px; }
.desktop-nav svg { width:13px; height:13px; }
.desktop-nav a,.desktop-nav a:last-child { color:#482a20; font-size:14px; }
.header-actions { padding-left:18px; gap:8px; }
.header-actions svg { width:24px; height:24px; stroke-width:1.5; }
.button,.button.primary,.button.secondary,.button.green { border-radius:6px; }
.button.primary,.button.green { background:var(--pink); border-color:var(--pink); }
.button.primary:hover,.button.green:hover { background:var(--pink-dark); }
.approved-home,.approved-dedication { max-width:1440px; margin-inline:auto; }
.approved-home { padding:0; }
.home-hero-wrap { max-width:none; width:100%; }
.brand-campaign { min-height:0; height:clamp(435px,38.77vw,558px); background:radial-gradient(circle at 18% 28%,#fff9ef 0 16%,transparent 42%),linear-gradient(115deg,#f4eadc,#f8efe3 62%,#ead8c5); border-radius:0 0 26px 26px; }
.brand-campaign:after { display:none; }
.brand-campaign .campaign-photo { width:54.2%; left:auto; right:0; z-index:0; object-fit:cover; object-position:center right; mask-image:linear-gradient(90deg,transparent 0%,#000 9%); }
.brand-campaign .campaign-copy { position:relative; z-index:1; padding:clamp(45px,5.3vw,76px) 0 0 6.7%; max-width:52%; }
.brand-campaign .campaign-copy h1 { font-family:var(--serif); font-weight:600; font-size:clamp(58px,6.8vw,98px); line-height:.91; letter-spacing:-.065em; max-width:none; margin:0 0 23px; }
.brand-campaign .campaign-copy h1 span,.brand-campaign .campaign-copy h1 em { display:block; white-space:nowrap; }
.brand-campaign .campaign-copy p { max-width:440px; font-size:clamp(16px,1.5vw,21px); line-height:1.45; margin-bottom:22px; }
.brand-campaign .campaign-actions .button { min-height:54px; font-size:16px; padding:14px 31px; }
.brand-benefits { margin:0; padding:26px 5%; min-height:90px; border-bottom:1px solid var(--line); }
.brand-benefits>div { justify-content:flex-start; gap:22px; padding-inline:28px; }
.brand-benefits>div:first-child { padding-left:20px; }
.brand-benefits svg { width:38px; height:38px; }
.brand-benefits strong { font-size:16px; font-weight:600; }
.brand-benefits small { font-size:12px; }
.home-featured { padding:26px 2.4% 15px; scroll-margin-top:120px; }
.home-featured>h2 { text-align:center; font-size:clamp(28px,3.25vw,46px); margin-bottom:16px; }
.home-category-tabs { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-bottom:14px; }
.home-category-tabs .filter-tab { padding:8px 20px; min-height:34px; border-radius:7px; font-size:12px; background:transparent; }
.home-category-tabs .filter-tab.active { background:var(--pink); border-color:var(--pink); color:white; }
.home-featured .product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.home-product-card { background:var(--bg); border-radius:8px; border-color:var(--line); }
.home-product-card .product-photo { aspect-ratio:255/246; }
.home-product-card .product-info { padding:11px 14px 16px; align-items:center; }
.home-product-card .product-info h3 { font:600 16px/1.4 var(--sans); margin:0 0 9px; min-height:0; }
.home-product-card .button { min-height:36px; padding:8px 17px; font-size:12px; width:78%; }
.home-product-card .button svg { width:14px; height:14px; }
.approved-dedication { display:grid; grid-template-columns:55% 45%; align-items:center; min-height:194px; border-block:1px solid var(--line); background:#f7ecdc; }
.approved-dedication>img { width:100%; height:100%; object-fit:cover; }
.approved-dedication>div { padding:22px 18px; }
.approved-dedication h2 { font-size:clamp(29px,3.3vw,47px); line-height:1.02; margin-bottom:15px; }
.approved-dedication p { font-size:clamp(14px,1.5vw,20px); line-height:1.4; margin:0; }
/* Approved minimal footer, with the existing optional features still reachable. */
.approved-footer { max-width:1440px; margin:auto; display:grid; grid-template-columns:1fr 95px 1fr; align-items:center; min-height:82px; padding:10px 4.5%; gap:16px; }
.footer-links { display:flex; flex-wrap:wrap; gap:22px; font-size:11px; }
.footer-links a:first-child { font-weight:600; }
.footer-seal { display:flex; justify-content:center; }
.footer-seal img { width:58px; height:58px; object-fit:contain; }
.footer-right { display:flex; align-items:center; justify-content:flex-end; gap:5px; }
.footer-right .icon-button { width:34px; height:34px; flex-basis:34px; }
.footer-right svg { width:18px; height:18px; }
.footer-right p { margin:0 0 0 16px; border-left:1px solid var(--line); padding-left:20px; color:var(--muted); font-size:10px; line-height:1.65; }
.footer-more { border-top:1px solid var(--line); font-size:11px; color:var(--muted); }
.footer-more>summary { width:fit-content; cursor:pointer; margin:0 auto; padding:7px 15px; }
.footer-more-inner { padding:30px 0; display:grid; grid-template-columns:1fr 1.3fr; gap:30px; }
.footer-details { grid-column:1/-1; text-align:center; }
.footer-details p { font-size:12px; }
.footer-details nav { display:flex; justify-content:center; gap:24px; margin-bottom:15px; }
.footer-details .trust-grid { margin-bottom:24px; }
/* Catalogue reference: hero, ten category choices, inline controls, 3 x 2 cards. */
.editorial-hero { position:relative; overflow:hidden; min-height:276px; max-width:1440px; margin:auto; background:radial-gradient(circle at 18% 28%,#fff9ef 0 16%,transparent 42%),linear-gradient(115deg,#f4eadc,#f8efe3 62%,#ead8c5); }
.editorial-hero>img { position:absolute; right:0; top:0; width:55%; height:100%; object-fit:cover; object-position:center; mask-image:linear-gradient(90deg,transparent 0%,#000 10%); }
.editorial-hero>div { position:relative; z-index:1; padding:32px 8%; width:58%; }
.editorial-hero h1 { font-size:clamp(45px,5.4vw,77px); line-height:.94; margin-bottom:16px; }
.editorial-hero p { font-size:20px; line-height:1.35; margin:0; }
.catalog-page { padding-top:20px; }
.approved-category-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px 12px; margin-bottom:24px; }
.approved-category-grid .category-choice { justify-content:center; flex-direction:row; min-height:44px; padding:9px 15px; font-size:13px; }
.approved-category-grid .category-choice svg { color:var(--pink); width:23px; height:23px; }
.approved-category-grid .category-choice.active { background:var(--pink); color:white; border-color:var(--pink); }
.approved-category-grid .category-choice.active svg { color:white; }
.catalog-filterbar { display:grid; grid-template-columns:minmax(240px,1.2fr) minmax(400px,1.6fr) 175px; gap:15px; align-items:center; margin-bottom:18px; }
.catalog-filterbar .store-chips { margin:0; justify-content:center; gap:6px; flex-wrap:nowrap; }
.catalog-filterbar .chip { white-space:nowrap; font-size:11px; padding:10px 12px; }
.catalog-filterbar .sort-field { display:block; }
.catalog-filterbar .sort-field select { width:100%; max-width:none; min-height:46px; }
.catalog-filterbar .search-field { width:100%; max-width:none; }
.catalog-page .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.catalog-page .product-card,.related-card { display:grid; grid-template-columns:48% 52%; border-radius:7px; background:transparent; min-height:202px; padding:5px; }
.catalog-page .product-photo,.related-card .product-photo { width:100%; height:100%; aspect-ratio:auto; border-radius:5px; }
.catalog-page .product-photo>img,.related-card .product-photo>img { width:100%; height:100%; object-fit:cover; }
.catalog-page .product-info,.related-card .product-info { padding:9px 12px; min-width:0; }
.catalog-page .product-info h3,.related-card .product-info h3 { font:600 21px/1.15 var(--serif); padding-right:22px; margin-bottom:9px; min-height:0; letter-spacing:-.04em; }
.product-card-description { font-size:12px; line-height:1.45; color:var(--muted); margin:0 0 14px; }
.catalog-page .product-card-description { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.catalog-page .product-bottom,.related-card .product-bottom { margin-top:auto; margin-bottom:10px; }
.catalog-page .product-bottom strong,.related-card .product-bottom strong { font-size:20px; font-weight:600; }
.catalog-page .add-button { border-radius:5px; width:100%; height:42px; flex-basis:auto; min-width:0; display:flex; justify-content:center; align-items:center; gap:8px; font-size:12px; }
.catalog-page .add-button svg { width:20px; height:20px; }
.catalog-page .wishlist-button { background:transparent; top:8px; right:8px; width:30px; height:30px; }
.sold-out-label { position:absolute; left:10px; top:10px; font-size:11px; color:white; padding:5px 10px; border-radius:20px; background:#412b21d9; }
.product-card:not(.home-product-card) .product-info { gap:0; }
/* The other product grids retain the approved full-photo cards. */
body[data-page=favoritos] .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
body[data-page=favoritos] .product-info h3 { margin-bottom:12px; }
body[data-page=favoritos] .add-button { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:44px; height:auto; padding:10px; font-size:13px; margin-top:12px; }
/* Product reference: thumbnail rail, large photo, outlined price/actions panel. */
.approved-product-page .product-detail { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:36px; align-items:start; }
.approved-product-page .product-media { display:grid; grid-template-columns:90px minmax(0,1fr); gap:14px; max-width:none; margin:0; }
.approved-product-page .thumbnail-row { display:flex; flex-direction:column; margin:0; gap:10px; padding:0; overflow:auto; max-height:610px; }
.approved-product-page .thumbnail { width:90px; height:110px; flex:0 0 110px; padding:2px; border-radius:5px; }
.approved-product-page .main-product-photo { aspect-ratio:628/555; border-radius:7px; }
.approved-product-page .main-product-photo>span { opacity:0; }
.approved-product-page .main-product-photo:hover>span { opacity:1; }
.approved-product-page .product-description h1 { font-size:clamp(35px,3.7vw,54px); line-height:1.02; margin-bottom:16px; }
.approved-product-page .description { margin:0 0 10px; font-size:15px; line-height:1.5; }
.approved-price-panel { border:1px solid var(--line); border-radius:7px; padding:20px; margin-top:10px; }
.approved-price-panel>span { display:block; font-size:13px; color:var(--muted); }
.approved-price-panel .detail-price { margin:0 0 16px; padding:0; border:0; }
.approved-price-panel .detail-price strong { font-size:38px; line-height:1.3; color:var(--pink); }
.approved-price-panel .detail-price>span:last-child { display:none; }
.quantity-line { display:flex; align-items:center; gap:30px; margin-bottom:13px; font-size:12px; }
.quantity-line .quantity-control { height:38px; min-width:132px; background:transparent; }
.quantity-line .quantity-control button { height:36px; }
.approved-price-panel .button { margin:0 0 8px; min-height:43px; padding:10px; font-size:13px; }
.approved-price-panel .button:last-child { margin-bottom:0; }
.approved-price-panel .wishlist-line { border:1px solid var(--pink); border-radius:6px; color:var(--ink); background:transparent; }
.product-payments { margin-top:17px; padding:15px; border:1px solid var(--line); border-radius:6px; }
.product-payments>summary { cursor:pointer; display:flex; justify-content:space-between; gap:15px; font-size:12px; font-weight:600; }
.product-payments>summary>span { display:flex; align-items:center; gap:8px; }
.product-payments svg { color:var(--pink); }
.product-payments[open] .payment-table { margin-top:20px; }
.product-lower-info { display:grid; grid-template-columns:1fr 1.07fr; gap:16px; margin-top:18px; }
.product-lower-info>section { border:1px solid var(--line); border-radius:7px; padding:22px; margin:0; background:transparent; }
.product-lower-info h2 { font:600 27px/1.2 var(--serif); letter-spacing:-.04em; margin-bottom:16px; }
.product-lower-info p,.product-lower-info .rich-text { font-size:13px; line-height:1.6; color:var(--muted); }
.product-lower-info .product-notice { margin:17px 0 0; padding:13px 0 0; border:0; border-top:1px solid var(--line); background:transparent; }
.product-lower-info .product-notice h3 { font:500 12px var(--sans); color:var(--pink); margin-bottom:6px; }
.product-lower-info .product-notice p { font-size:11px; margin-bottom:0; }
.approved-product-page .related-section { margin-top:18px; padding-top:0; border:0; }
.related-section .section-heading { margin-bottom:14px; }
.related-section h2 { font-size:32px; }
.related-section .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.related-card { min-height:180px; border:0; border-right:1px solid var(--line); border-radius:0; padding-right:15px; }
.related-card:last-child { border-right:0; }
.related-card .wishlist-button { display:none; }
.related-card .button { width:100%; padding:9px; min-height:35px; font-size:11px; }
.related-card .product-info h3 { padding:0; font-size:19px; }
.related-card .product-card-description { font-size:11px; max-height:48px; overflow:hidden; margin-bottom:7px; }
.related-card .product-bottom strong { font-size:17px; }
/* Delivery and checkout screens follow their own approved layouts. */
.steps { border:0; gap:155px; margin:0 0 24px; padding:10px 0; }
.steps li { position:relative; }
.steps li:not(:last-child):after { content:''; position:absolute; top:20px; left:calc(50% + 30px); width:150px; height:1px; background:var(--line); }
.steps li a { flex-direction:column; gap:7px; font-size:13px; }
.steps li a>span { width:36px; height:36px; font-size:14px; }
.approved-schedule .page-head { margin-bottom:22px; max-width:none; }
.approved-schedule .page-head h1 { font-size:58px; margin-bottom:6px; }
.approved-schedule .page-head>p { font-size:20px; }
.approved-schedule .checkout-layout { grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:16px; }
.schedule-form { padding:26px; border:1px solid var(--line); border-radius:8px; }
.schedule-form legend { font:600 21px/1.2 var(--serif); letter-spacing:-.025em; margin-bottom:12px; }
.schedule-form .choice-pair { grid-template-columns:1fr 1fr; gap:14px; }
.schedule-form .choice-option { padding:15px; background:transparent; font-size:14px; }
.schedule-form .choice-option>svg { width:28px; height:28px; color:var(--pink); }
.schedule-form .choice-option small { font-size:11px; }
.schedule-form .schedule-method { margin-bottom:24px; }
.schedule-choices { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.schedule-choices>fieldset { margin-bottom:0; }
.schedule-turns { border-left:1px solid var(--line); padding-left:26px; }
.schedule-turns .shift-options { grid-template-columns:1fr 1fr; gap:8px; }
.schedule-turns .choice-option { padding:12px 9px; font-size:12px; gap:7px; }
.schedule-turns .choice-option>svg { width:18px; height:18px; }
.schedule-turns .time-slots { flex-direction:column; }
.schedule-turns .time-slot { width:100%; text-align:left; font-weight:400; font-size:13px; }
.schedule-turns .time-slot:before { content:'○'; margin-right:20px; font-size:18px; vertical-align:middle; }
.schedule-turns .time-slot.selected:before { content:'●'; color:var(--pink); }
.schedule-form .calendar { padding:15px 12px; background:transparent; }
.schedule-form .calendar-day { border-radius:7px; }
.schedule-modifications { border-top:1px solid var(--line); padding-top:20px; margin-top:24px; margin-bottom:16px; }
.schedule-modifications textarea { background:transparent; font-size:13px; }
.schedule-bottom { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:center; }
.schedule-bottom .inline-notice { padding:0; font-size:11px; background:transparent; margin:0; color:var(--ink); }
.schedule-bottom .button { width:100%; min-height:49px; }
.order-summary { background:transparent; border-radius:8px; padding:24px; }
.order-summary h2 { font-size:29px; margin-bottom:15px; }
.summary-single .cart-item { display:flex; flex-direction:column; border:0; padding:0 0 18px; gap:15px; }
.summary-single .cart-item>a { flex-basis:auto; display:block; width:100%; }
.summary-single .cart-item img { width:100%; height:auto; max-height:350px; aspect-ratio:1; object-fit:cover; border-radius:6px; }
.summary-single .cart-item-body { width:100%; }
.summary-single .cart-item-title h3 { font-family:var(--serif); font-size:22px; }
.summary-single .cart-item-bottom { flex-direction:row; justify-content:space-between; align-items:center; }
.order-summary .totals .total-line { background:#f3e7d6; border-radius:5px; border:0; padding:15px; margin-top:15px; align-items:center; }
.order-summary .total-line dt { font-weight:600; color:var(--ink); }
.order-summary .total-line dd { color:var(--pink); font-size:24px; }
.approved-checkout .editorial-hero { min-height:230px; }
.approved-checkout .editorial-hero>div { padding:25px 7%; }
.approved-checkout .editorial-hero h1 { font-size:58px; }
.approved-checkout .editorial-hero p { font-size:17px; }
.approved-checkout .page { padding-top:15px; }
.approved-checkout .checkout-layout { grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:16px; }
.checkout-form { counter-reset:checkout-step; }
.checkout-form>fieldset { position:relative; border:1px solid var(--line); border-radius:7px; padding:18px; margin-bottom:10px; background:transparent; }
.checkout-form>fieldset>legend { float:left; width:100%; padding:0; margin:0 0 14px; font:600 21px/1.3 var(--serif); letter-spacing:-.03em; }
.checkout-form>fieldset>legend:before { counter-increment:checkout-step; content:counter(checkout-step); font:13px/25px var(--sans); display:inline-block; text-align:center; width:25px; height:25px; margin-right:12px; background:var(--pink); color:white; border-radius:50%; }
.checkout-form>fieldset>legend+* { clear:both; }
.checkout-form label { font-size:12px; margin-bottom:12px; }
.checkout-form input:not([type=checkbox]):not([type=radio]),.checkout-form textarea,.checkout-form select { min-height:39px; font-size:13px; padding:8px 11px; background:#fffdf9; border-radius:5px; }
.checkout-form .field-pair { gap:16px; }
.checkout-form .sub-group { border:0; padding:0; margin-bottom:0; }
.checkout-form .sub-group legend { font:500 12px var(--sans); }
.checkout-form .choice-option { padding:10px; font-size:12px; }
.checkout-form .pay-method-grid { gap:8px; }
.checkout-form .pay-method-card { padding:10px; margin-bottom:0; }
.checkout-form .pay-notice { font-size:11px; margin-bottom:4px; }
.checkout-form .dedication-meta { font-size:11px; }
.checkout-form .delivery-review { padding:15px; border-radius:5px; background:#f3e7d6; border:0; margin-bottom:13px; }
.checkout-form>.button.green { width:fit-content; min-width:320px; }
.checkout-form .checkout-disclaimer { font-size:11px; }
.confirmation h1 { font-size:48px; }
.confirmation-icon { background:transparent; border:1px solid var(--line); }
#cart-dialog { width:510px; background:var(--bg); border-radius:0; }
#cart-dialog .dialog-header { background:transparent; }
#cart-dialog .dialog-header h2 { font-size:35px; }
#cart-dialog .cart-item img { width:105px; height:105px; }
#cart-dialog .cart-item>a { flex-basis:105px; }
/* Gallery and editorial pages use the photos from their respective approved screens. */
.approved-gallery { width:min(1400px,calc(100% - 48px)); padding-top:30px; }
.approved-gallery .page-head { text-align:center; max-width:none; margin-bottom:24px; }
.approved-gallery .page-head h1 { font-size:clamp(34px,4.2vw,58px); margin-bottom:8px; }
.approved-gallery .page-head p { font-size:20px; }
.approved-gallery .full-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.approved-gallery .gallery-tile { aspect-ratio:410/234; border-radius:7px; }
.approved-gallery-photo>span { display:none; }
.blog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.blog-card { border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.blog-card img { aspect-ratio:1.45; border-radius:0; margin:0 0 20px; }
.blog-card .eyebrow,.blog-card h2,.blog-card p,.blog-card .button { margin-inline:25px; }
.blog-card .eyebrow { font-size:11px; letter-spacing:.13em; }
.blog-card h2 { font-size:29px; }
.blog-card p { font-size:14px; }
.blog-card .button { align-self:flex-start; margin-bottom:20px; min-height:40px; padding:10px 20px; font-size:13px; }
body[data-page=blog] .page-head { max-width:none; }
body[data-page=blog] .page-head h1 { font-size:clamp(35px,4.8vw,67px); }
.article-page>h1 { font-size:50px; }
.article-body h2 { font-size:30px; }
/* Shared panel shell follows the approved administrative references. */
.admin-page { background:var(--bg); }
.admin-page .header-inner { height:100px; padding:0 32px 0 0 !important; gap:30px; max-width:none; }
.admin-page .brand { flex:0 0 220px; width:220px; height:100px; display:flex; justify-content:center; border-right:1px solid var(--line); }
.admin-page .brand-horizontal { display:none; }
.admin-page .brand-symbol { display:block; width:88px; height:88px; }
.admin-page .admin-header-title { display:block; font:600 40px/1 var(--serif); color:var(--pink); letter-spacing:-.05em; }
.admin-page .admin-store-link { margin-right:auto; color:var(--pink); }
.admin-shell { grid-template-columns:220px minmax(0,1fr); }
.admin-sidebar { top:100px; height:calc(100dvh - 100px); background:var(--bg); padding:15px 16px; }
.admin-nav { font-size:14px; min-height:44px; margin-bottom:4px; padding:12px 15px; }
.admin-nav.active { background:var(--pink); color:white; }
.admin-nav.active svg { color:white; }
.admin-nav svg { color:var(--ink); width:21px; height:21px; }
.admin-content { padding:28px 32px 50px; background:var(--bg); max-width:1800px; }
.admin-heading h1 { font:600 35px/1.1 var(--serif); letter-spacing:-.045em; }
.admin-stats { grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.admin-stats>div,.admin-stats>div:first-child { padding:17px; background:transparent; }
.admin-stats strong { font:600 29px/1.2 var(--serif); }
.admin-stats span { font-size:13px; }
.admin-filters { margin-top:22px; }
.admin-order { margin-bottom:0; border-radius:0; background:transparent; }
.admin-order>summary { padding:16px; }
.order-table-head { background:#f3e7d6; border-radius:7px 7px 0 0; border:1px solid var(--line); text-transform:none; letter-spacing:0; font-size:12px; }
.admin-order[open] { border-color:var(--pink); border-radius:6px; }
.admin-order[open]>summary { background:#f8eddf; }
.order-expanded { background:transparent; padding:22px; border-color:var(--line); }
.status-badge { border-radius:20px; padding:6px 14px; background:#efe0ce; }
.admin-form fieldset { padding:20px; border:1px solid var(--line); border-radius:7px; margin-bottom:20px; }
.admin-form legend { font:600 21px var(--serif); float:left; width:100%; margin-bottom:18px; }
.admin-form legend+* { clear:both; }
.admin-modal { width:min(920px,calc(100vw - 48px)); border-radius:9px; background:var(--bg); }
.admin-modal h2 { font-size:28px; }
.admin-login { background:transparent; border-color:var(--line); }
@media(min-width:1450px) { .brand-campaign .campaign-copy h1 { font-size:98px; } }
@media(max-width:1150px) {
  .header-inner { padding-inline:36px; gap:20px; }
  .brand img.brand-horizontal { width:285px; height:78px; }
  .desktop-nav { gap:20px; }
  .catalog-filterbar { grid-template-columns:1fr 175px; }
  .catalog-filterbar .store-chips { grid-column:1/-1; grid-row:2; justify-content:flex-start; }
  .catalog-page .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .brand-campaign .campaign-copy h1 { font-size:6.8vw; }
  .brand-campaign .campaign-copy { padding-top:50px; }
  .brand-campaign { height:435px; }
  .brand-benefits>div { gap:13px; padding-inline:18px; }
  .brand-benefits strong { font-size:14px; }
  .brand-benefits small { font-size:10px; }
  .approved-product-page .product-detail { gap:24px; }
  .approved-product-page .product-media { grid-template-columns:65px minmax(0,1fr); gap:10px; }
  .approved-product-page .thumbnail { width:65px; height:85px; flex-basis:85px; }
  .approved-product-page .product-description h1 { font-size:39px; }
  .schedule-choices { grid-template-columns:1fr; }
  .schedule-turns { padding:0; border:0; }
  .schedule-turns .time-slots { flex-direction:row; }
  .schedule-turns .time-slot { width:auto; }
  .approved-schedule .checkout-layout { grid-template-columns:1.7fr 1fr; }
  .admin-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .admin-stats strong { font-size:24px; }
}
@media(max-width:800px) {
  .container { width:calc(100% - 40px); }
  .header-inner { padding:8px 24px; min-height:88px; }
  .brand img.brand-horizontal { width:260px; height:70px; }
  .header-actions { gap:0; padding-left:0; border:0; }
  .brand-campaign { height:400px; }
  .brand-campaign .campaign-copy { padding-left:5%; max-width:55%; }
  .brand-campaign .campaign-copy h1 { font-size:6.6vw; }
  .brand-campaign .campaign-copy p { font-size:15px; max-width:320px; }
  .brand-campaign .campaign-actions .button { font-size:13px; padding:12px 20px; min-height:46px; }
  .brand-benefits { padding:22px 3%; }
  .brand-benefits>div { flex-direction:row; text-align:left; gap:10px; padding-inline:10px; }
  .brand-benefits svg { width:27px; height:27px; }
  .brand-benefits strong { font-size:12px; }
  .home-featured .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .home-product-card .product-info h3 { font-size:16px; }
  .approved-dedication h2 { font-size:30px; }
  .approved-dedication p { font-size:13px; }
  .approved-dedication { grid-template-columns:1fr 1fr; }
  .editorial-hero>div { width:60%; padding:25px 5%; }
  .editorial-hero h1 { font-size:48px; }
  .editorial-hero p { font-size:15px; }
  .approved-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .approved-product-page .product-detail { grid-template-columns:1fr; }
  .approved-product-page .product-media { grid-template-columns:75px minmax(0,1fr); }
  .approved-product-page .thumbnail { width:75px; height:92px; flex-basis:92px; }
  .approved-product-page .main-product-photo { max-height:620px; }
  .product-lower-info { grid-template-columns:1fr; }
  .related-section .product-grid { grid-template-columns:1fr; }
  .related-card { grid-template-columns:38% 62%; border:0; min-height:170px; }
  .approved-schedule .checkout-layout,.approved-checkout .checkout-layout { grid-template-columns:1fr; gap:20px; }
  .schedule-choices { grid-template-columns:1fr 1fr; gap:20px; }
  .schedule-turns .shift-options { grid-template-columns:1fr; }
  .summary-single .cart-item { flex-direction:row; }
  .summary-single .cart-item>a { width:100px; flex-basis:100px; }
  .summary-single .cart-item img { width:100px; height:100px; }
  .summary-single .cart-item-body { flex:1; }
  .approved-checkout .editorial-hero h1 { font-size:46px; }
  .steps { gap:85px; }
  .steps li:not(:last-child):after { width:80px; }
  .approved-footer { grid-template-columns:1fr 70px; padding:15px 24px; }
  .footer-right { grid-column:1/-1; justify-content:center; }
  .footer-links { gap:14px; }
  .footer-more-inner { grid-template-columns:1fr; }
  .approved-gallery .page-head p { font-size:16px; }
  .approved-gallery .full-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .blog-grid { grid-template-columns:1fr; }
  .admin-page .header-inner { padding:8px 20px !important; height:82px; min-height:82px; gap:16px; }
  .admin-page .brand { width:60px; flex-basis:60px; height:60px; border:0; }
  .admin-page .brand-symbol { width:60px; height:60px; }
  .admin-page .admin-header-title { font-size:27px; }
  .admin-page .admin-store-link { margin:0 0 0 auto; font-size:12px; }
  .admin-shell { grid-template-columns:1fr; }
  .admin-sidebar { height:auto; position:static; padding:10px 20px; }
  .admin-nav { font-size:13px; }
  .admin-content { padding:24px 20px; }
  .admin-heading h1 { font-size:31px; }
}
@media(max-width:560px) {
  .header-inner { min-height:76px; padding:8px 16px; gap:10px; }
  .brand img.brand-horizontal { width:205px; height:55px; }
  .header-actions .icon-button { width:34px; height:44px; flex-basis:34px; }
  .header-actions svg { width:21px; height:21px; }
  .brand-campaign { height:auto; display:flex; flex-direction:column; background-size:100% 100%; border-radius:0; }
  .brand-campaign .campaign-copy { padding:30px 24px 25px; max-width:100%; width:100%; background:transparent; }
  .brand-campaign .campaign-copy h1 { font-size:43px; line-height:.98; letter-spacing:-.055em; max-width:360px; margin-bottom:20px; }
  .brand-campaign .campaign-copy h1 span,.brand-campaign .campaign-copy h1 em { white-space:normal; }
  .brand-campaign .campaign-copy p { font-size:14px; max-width:335px; }
  .brand-campaign .campaign-photo { position:static; width:100%; height:auto; aspect-ratio:608/435; mask-image:none; object-fit:contain; order:2; }
  .brand-benefits { min-height:0; padding:20px 14px; }
  .brand-benefits>div { flex-direction:column; text-align:center; padding:0 8px; gap:7px; }
  .brand-benefits>div:first-child { padding-left:8px; }
  .brand-benefits strong { font-size:11px; }
  .home-featured { padding:25px 16px 18px; }
  .home-featured>h2 { font-size:29px; line-height:1.1; }
  .home-category-tabs { justify-content:flex-start; flex-wrap:nowrap; overflow:auto; padding-bottom:8px; gap:7px; }
  .home-category-tabs .filter-tab { flex-shrink:0; padding:10px 14px; font-size:11px; }
  .home-product-card .product-info { padding:10px 8px 12px; }
  .home-product-card .product-info h3 { font-size:14px; line-height:1.3; }
  .home-product-card .button { width:100%; font-size:11px; min-height:38px; padding:8px; }
  .approved-dedication { grid-template-columns:1fr; }
  .approved-dedication>img { height:auto; }
  .approved-dedication>div { padding:25px 24px; }
  .approved-dedication h2 { font-size:34px; }
  .approved-dedication p { font-size:14px; }
  .editorial-hero { min-height:0; display:flex; flex-direction:column; }
  .editorial-hero>div { width:100%; padding:25px 24px; }
  .editorial-hero h1 { font-size:45px; }
  .editorial-hero p { font-size:15px; }
  .editorial-hero>img { position:static; order:2; width:100%; height:220px; mask-image:none; object-fit:cover; }
  .catalog-page { padding-block:18px 30px; }
  .approved-category-grid { display:grid; grid-template-columns:1fr 1fr; overflow:visible; gap:8px; padding:0; }
  .approved-category-grid .category-choice { white-space:normal; min-height:45px; padding:9px; font-size:11px; }
  .approved-category-grid .category-choice svg { width:20px; height:20px; }
  .catalog-filterbar { grid-template-columns:1fr; gap:11px; }
  .catalog-filterbar .store-chips { grid-row:auto; grid-column:auto; flex-wrap:wrap; gap:6px; }
  .catalog-filterbar .sort-field select { max-width:none; }
  .catalog-page .product-grid { grid-template-columns:1fr; gap:12px; }
  .catalog-page .product-card { min-height:190px; grid-template-columns:43% 57%; }
  .catalog-page .product-info { padding:12px; }
  .catalog-page .product-info h3 { font-size:23px; }
  .catalog-page .product-bottom strong { font-size:19px; }
  .catalog-page .add-button { min-height:44px; font-size:11px; }
  .catalog-page .add-button svg { width:17px; height:17px; }
  .product-card-description { font-size:12px; }
  body[data-page=favoritos] .product-grid { grid-template-columns:1fr; }
  .approved-product-page .product-media { display:flex; flex-direction:column; gap:12px; }
  .approved-product-page .main-product-photo { order:0; }
  .approved-product-page .thumbnail-row { order:1; flex-direction:row; width:100%; overflow:auto; max-height:none; }
  .approved-product-page .thumbnail { width:66px; height:76px; flex-basis:66px; }
  .approved-product-page .product-description h1 { font-size:38px; }
  .approved-price-panel { padding:18px; }
  .approved-price-panel .detail-price strong { font-size:35px; }
  .approved-price-panel .button { min-height:46px; font-size:13px; }
  .product-payments>summary { flex-direction:column; gap:12px; }
  .product-lower-info>section { padding:20px; }
  .product-lower-info h2 { font-size:25px; }
  .related-section h2 { font-size:29px; }
  .related-card { min-height:165px; grid-template-columns:43% 57%; padding:0; }
  .related-card .product-info { padding:10px 12px; }
  .related-card .product-info h3 { font-size:21px; }
  .related-card .product-card-description { max-height:34px; }
  .related-card .button { min-height:38px; }
  .steps { justify-content:space-between; gap:12px; }
  .steps li:not(:last-child):after { display:none; }
  .steps li a { font-size:11px; gap:6px; }
  .steps li a>span { width:30px; height:30px; }
  .approved-schedule .page-head h1 { font-size:42px; }
  .approved-schedule .page-head>p { font-size:16px; }
  .schedule-form { padding:18px; }
  .schedule-form .choice-pair { grid-template-columns:1fr; }
  .schedule-form legend { font-size:20px; }
  .schedule-choices { grid-template-columns:1fr; gap:22px; }
  .schedule-turns .shift-options { grid-template-columns:1fr 1fr; }
  .schedule-turns .time-slot { width:100%; }
  .schedule-bottom { grid-template-columns:1fr; gap:17px; }
  .schedule-bottom .inline-notice { font-size:12px; }
  .summary-single .cart-item>a { width:80px; flex-basis:80px; }
  .summary-single .cart-item img { width:80px; height:95px; }
  .summary-single .cart-item-title h3 { font-size:20px; }
  .order-summary .total-line dd { font-size:22px; }
  .approved-checkout .editorial-hero { min-height:0; }
  .approved-checkout .editorial-hero h1 { font-size:43px; }
  .approved-checkout .editorial-hero p { font-size:15px; }
  .checkout-form>fieldset { padding:17px; margin-bottom:12px; }
  .checkout-form>fieldset>legend { font-size:20px; }
  .checkout-form input:not([type=checkbox]):not([type=radio]),.checkout-form textarea,.checkout-form select { font-size:16px; min-height:45px; }
  .checkout-form label { font-size:12px; }
  .checkout-form>.button.green { min-width:0; width:100%; }
  #cart-dialog { width:100%; }
  #cart-dialog .cart-item img { width:80px; height:90px; }
  #cart-dialog .cart-item>a { flex-basis:80px; }
  .approved-gallery { width:calc(100% - 32px); }
  .approved-gallery .page-head h1 { font-size:34px; }
  .approved-gallery .page-head p { font-size:15px; }
  .approved-gallery .full-gallery { grid-template-columns:1fr; gap:12px; }
  .approved-footer { padding:20px 18px; grid-template-columns:1fr 58px; gap:18px; }
  .footer-links { gap:13px 18px; font-size:10px; }
  .footer-right p { font-size:10px; }
  .admin-page .header-inner { padding:8px 16px !important; gap:12px; }
  .admin-page .admin-header-title { font-size:25px; }
  .admin-page .admin-store-link { font-size:11px; }
  .admin-stats { grid-template-columns:1fr; }
  .admin-stats strong { font-size:27px; }
  .admin-content { padding:24px 18px; }
}
@media(max-width:360px) {
  .brand img.brand-horizontal { width:175px; }
  .brand-campaign .campaign-copy h1 { font-size:38px; }
  .header-actions .icon-button { width:32px; flex-basis:32px; }
}
