/* Shared brand composition; loaded after the existing commerce styles. */
.brand-hero-image img{object-position:50% 40%!important}.brand-philosophy img{object-position:50% 44%}.brand-about-story img.brand-about-ritual{object-position:50% 42%}.brand-journal-image img[src*="maternidad"]{object-position:50% 25%}.diario-media img[src*="maternidad"],.diario-preview-media img[src*="maternidad"]{object-position:50% 25%}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:54px;padding:16px 24px;font-size:14px;line-height:1.4;text-align:center}.button-primary{background:var(--olive);color:var(--paper)}.button-primary:hover{background:#49533c}.button-primary:disabled{opacity:.5}.button-light{background:var(--paper);color:var(--olive)}.header .navigation{width:100%}
.product-page>.gallery,.product-page>.product-info{min-width:0;width:100%}.thumbnails{max-width:100%}.product-accordions summary>span{transform:none}.purchase-controls>.button{min-width:0}.gallery-main>img{padding:0;max-width:100%}
.header{display:grid;grid-template-columns:170px 1fr 90px;align-items:center;gap:32px;height:108px;padding:0 max(5vw,24px);position:relative}
.header .brand{position:static;transform:none;grid-column:1;grid-row:1;justify-self:start;width:150px;height:65px;display:flex;align-items:center}
.header .brand-image{width:150px;height:auto;max-height:65px;object-fit:contain}
.header .navigation{grid-column:2;grid-row:1;display:flex;justify-content:center;gap:32px;font-size:14px;letter-spacing:0;white-space:nowrap}
.navigation a[aria-current=page]{border-bottom:1px solid currentColor}
.header-tools{grid-column:3;grid-row:1;justify-self:end}.header-note{display:none}.header .menu-toggle{display:none}
.announcement{font-size:12px;letter-spacing:.05em}.announcement-right{font-size:11px}
.brand-shell{width:min(1320px,90%);margin:0 auto}
.brand-home,.brand-about,.brand-catalog{color:var(--olive)}
.brand-kicker{display:block;font-size:12px;letter-spacing:.14em;line-height:1.6;font-weight:500}
.brand-home h1,.brand-about h1,.brand-catalog h1{font-family:var(--serif);font-weight:400;font-size:clamp(60px,6.7vw,102px);line-height:.98;letter-spacing:-.035em}
.brand-home h2,.brand-about h2,.brand-catalog-note h2,.brand-product-story h2,.brand-product-delivery h2{font-family:var(--serif);font-weight:400;font-size:clamp(40px,4.1vw,62px);line-height:1.08;letter-spacing:-.025em}
.brand-home p,.brand-about p,.brand-catalog p,.brand-product-story p,.brand-product-delivery p{font-size:16px;line-height:1.8;color:var(--muted)}
.brand-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--olive);color:var(--paper);padding:18px 25px;min-height:56px;font-size:14px;line-height:1.4;width:fit-content;text-decoration:none;transition:background .2s}
.brand-button:hover{background:#49533c}.brand-button svg,.brand-subtle-link svg{width:22px;height:22px;flex:none}
.brand-button-light{background:#f4f1e8;color:#303627}.brand-button-light:hover{background:#e2e4d6}
.brand-subtle-link{display:inline-flex;align-items:center;gap:18px;font-size:14px;line-height:1.6;border-bottom:1px solid #929a80;padding:7px 0;width:fit-content}
.brand-hero{display:grid;grid-template-columns:1fr 1.03fr;gap:0 7%;padding-top:32px}
.brand-hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:35px 0 50px;min-width:0}
.brand-hero h1{margin:28px 0}.brand-hero-copy p{max-width:390px;margin:0 0 30px}.brand-hero-copy>.brand-subtle-link{margin-top:17px}
.brand-hero-image{height:650px;position:relative;overflow:hidden;background:#e8dfcd}.brand-hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 52%}
.brand-image-caption{position:absolute;left:28px;bottom:24px;font-size:11px;letter-spacing:.14em;background:#faf8f5e8;padding:12px 16px}
.brand-hero-footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;padding:27px 0;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.14em}
.brand-intro{padding:90px 0}.brand-intro>div{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:center;margin-top:24px}.brand-intro p{max-width:460px}
.brand-launch{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding-bottom:100px}.brand-launch-image{position:relative;height:590px;background:#e9e2d7;overflow:hidden}.brand-launch-image img{width:100%;height:100%;object-fit:cover;object-position:center 58%}.brand-photo-label{position:absolute;left:25px;top:25px;font-size:11px;letter-spacing:.1em;background:#faf8f5e6;padding:12px 15px}
.brand-launch-copy{min-width:0}.brand-launch-copy h2{margin:25px 0}.brand-launch-copy p{max-width:450px}.brand-product-summary{display:flex;justify-content:space-between;align-items:center;gap:24px;border-block:1px solid var(--line);padding:24px 0;margin:28px 0;font-size:16px;line-height:1.6}.brand-product-summary small{font-size:13px;color:var(--muted)}.brand-product-summary strong{font-family:var(--serif);font-size:30px;font-weight:400;white-space:nowrap}.brand-launch-copy>.brand-subtle-link{display:flex;margin-top:16px}
.brand-philosophy{background:#303627;color:#f4f1e8}.brand-philosophy-inner{display:grid;grid-template-columns:1fr .9fr;gap:14%;padding-block:85px;align-items:center}.brand-philosophy h2{margin:26px 0}.brand-philosophy p{color:#d0d5c1;max-width:430px;margin-bottom:32px}.brand-philosophy figure{margin:0;position:relative}.brand-philosophy img{width:100%;height:545px;object-fit:cover}.brand-philosophy figcaption{font-family:var(--serif);font-style:italic;font-size:24px;padding-top:17px;color:#d0d5c1}
.brand-journal{padding:100px 0}.brand-section-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:38px}.brand-section-heading h2{margin-top:20px}.brand-journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.brand-journal-image{height:290px;overflow:hidden;margin-bottom:22px}.brand-journal-image img{width:100%;height:100%;object-fit:cover}.brand-journal h3{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.2;margin:12px 0 14px;max-width:520px}.brand-journal a:hover img{transform:scale(1.02);transition:transform .3s}
.brand-service{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:50px 0 70px;border-top:1px solid var(--line);align-items:center}.brand-service h2{margin-top:20px}.brand-service p{margin-bottom:20px;max-width:470px}
.brand-catalog{padding-block:70px 100px}.brand-catalog-heading{max-width:730px;margin-bottom:55px}.brand-catalog h1{font-size:clamp(55px,6vw,85px);margin:23px 0}.brand-catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.brand-catalog-image{height:540px;position:relative;background:#e9e2d7}.brand-catalog-image img{width:100%;height:100%;object-fit:cover}.brand-catalog-image>span{position:absolute;top:25px;left:25px;background:var(--paper);padding:10px 14px;font-size:13px}.brand-catalog-meta{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:24px}.brand-catalog-meta h2{font-family:var(--serif);font-size:34px;line-height:1.15;font-weight:400}.brand-catalog-meta strong{font-size:22px;font-family:var(--serif);font-weight:400}.brand-catalog-product p{margin-top:12px;font-size:14px}.brand-catalog-product .brand-subtle-link{margin-top:12px}.brand-catalog-note{padding:40px 0 40px 15%;border-left:1px solid var(--line)}.brand-catalog-note h2{margin:24px 0}.brand-catalog-note p{margin-bottom:25px}
.brand-about-heading{padding:75px 0 60px}.brand-about-heading h1{margin:25px 0}.brand-about-heading p{max-width:550px}.brand-about-story{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.brand-about-story img{width:100%;height:530px;object-fit:cover}.brand-about-story h2{margin-bottom:25px}.brand-about-story p+p{margin-top:15px}.brand-signature{display:block;font-family:var(--serif);font-size:30px;font-style:italic;margin-top:30px}.brand-values{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding-block:85px;border-bottom:1px solid var(--line)}.brand-values article>span{font-family:var(--serif);font-size:30px;color:#89916f}.brand-values h2{font-size:32px;margin:15px 0}.brand-about-end{padding:45px 0 85px}
.product-page{max-width:1450px;padding-top:10px;align-items:start}.product-info h1{font-size:clamp(48px,4.8vw,70px)}.product-description{font-size:16px;line-height:1.8}.product-subtitle{font-size:14px}.availability{font-size:14px}.availability .product-price{font-size:32px;font-family:var(--serif);font-weight:400;color:var(--olive)}.preview-note{font-size:13px}.purchase-controls .button{font-size:14px}.quantity output{font-size:16px}.product-accordions summary{font-size:15px}.product-accordions details>p{font-size:15px;line-height:1.7}.product-accordions .brand-subtle-link{margin-bottom:20px}.thumbnails>button{flex:0 0 65px}.thumbnails{overflow:auto}.gallery-main{height:640px}.gallery-main>img{object-fit:cover;object-position:center 55%}.brand-product-delivery{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;padding-block:50px;border-block:1px solid var(--line)}.brand-product-delivery h2{font-size:40px;margin-top:15px}.brand-product-delivery h3{font-family:var(--serif);font-size:27px;line-height:1.2;font-weight:400;margin:10px 0 15px}.brand-product-story{display:grid;grid-template-columns:.85fr 1fr;gap:10%;align-items:center;padding-block:75px}.brand-product-story img{height:470px;width:100%;object-fit:cover}.brand-product-story h2{margin:20px 0}.brand-product-story p{margin-bottom:20px}
.footer{padding-top:50px;border-top:1px solid var(--line)}.footer-links{font-size:14px;gap:14px}.footer-top>div>p{font-size:14px}.footer-bottom{font-size:12px}
@media(max-width:1050px){.header{grid-template-columns:150px 1fr 50px;gap:15px}.header .navigation{gap:20px;font-size:13px}.brand-hero-image{height:580px}.brand-hero h1{font-size:74px}.brand-launch-image{height:520px}.brand-philosophy-inner{gap:8%}.brand-philosophy img{height:500px}.brand-catalog-note{padding-left:10%}}
@media(max-width:760px){.header{grid-template-columns:48px 1fr 48px;height:85px;padding:0 20px;gap:0}.header .brand{grid-column:2;justify-self:center;width:130px}.header .brand-image{width:130px;max-height:55px}.header .menu-toggle{display:flex;grid-column:1;grid-row:1}.header .navigation{display:none;position:absolute;top:85px;left:0;right:0;grid-column:auto;background:var(--paper);padding:24px;z-index:50;align-items:stretch;box-shadow:0 15px 25px #30362718}.menu-open .header .navigation{display:flex;flex-direction:column;gap:0;font-size:16px}.header .navigation a{padding:14px 0}.announcement{font-size:10px;letter-spacing:0}.announcement-right{display:none}.brand-shell{width:88%}.brand-hero{grid-template-columns:1fr;padding-top:12px}.brand-hero-copy{padding:30px 0 35px}.brand-hero h1{font-size:70px;margin:22px 0}.brand-hero-copy p{max-width:400px}.brand-hero-image{height:460px}.brand-image-caption{left:15px;bottom:15px;font-size:9px;padding:10px}.brand-hero-footer{padding:20px 0;gap:15px;flex-wrap:wrap;font-size:9px;letter-spacing:.08em}.brand-hero-footer span:last-child{display:none}.brand-intro{padding:60px 0}.brand-intro>div{grid-template-columns:1fr;gap:22px;margin-top:20px}.brand-launch{grid-template-columns:1fr;gap:35px;padding-bottom:60px}.brand-launch-image{height:480px}.brand-photo-label{font-size:10px;left:17px;top:17px}.brand-home h2,.brand-about h2,.brand-catalog-note h2,.brand-product-story h2{font-size:43px}.brand-kicker{font-size:11px}.brand-launch-copy h2{margin:20px 0}.brand-philosophy-inner{grid-template-columns:1fr;gap:38px;padding-block:55px}.brand-philosophy img{height:450px}.brand-journal{padding:60px 0}.brand-section-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:30px}.brand-journal-grid{grid-template-columns:1fr;gap:38px}.brand-journal-image{height:250px}.brand-journal h3{font-size:30px}.brand-service{grid-template-columns:1fr;gap:25px;padding:38px 0 55px}.brand-catalog{padding:45px 0 65px}.brand-catalog h1{font-size:58px}.brand-catalog-grid{grid-template-columns:1fr;gap:45px}.brand-catalog-image{height:460px}.brand-catalog-note{padding:35px 0 0;border-left:0;border-top:1px solid var(--line)}.brand-catalog-note h2 br{display:none}.brand-about-heading{padding:50px 0 40px}.brand-about h1{font-size:65px}.brand-about-story{grid-template-columns:1fr;gap:35px}.brand-about-story img{height:330px}.brand-values{grid-template-columns:1fr;gap:35px;padding-block:45px}.brand-values h2{font-size:30px}.brand-product-delivery{grid-template-columns:1fr;padding-block:35px;gap:25px}.brand-product-story{grid-template-columns:1fr;gap:35px;padding-block:50px}.brand-product-story img{height:400px}.product-page{padding-bottom:45px}.gallery-main{height:460px}.product-info h1{font-size:54px}.product-accordions details>p{font-size:15px}.footer-top{grid-template-columns:1fr 1fr;gap:25px}.footer-links{font-size:13px}.footer-bottom{font-size:11px}.footer-top>div>p{font-size:12px}.brand-product-summary{font-size:15px}.brand-button{max-width:100%;gap:16px}}
@media(max-width:370px){.brand-hero h1{font-size:62px}.brand-hero-image{height:400px}.brand-launch-image,.brand-catalog-image{height:410px}.brand-home h2{font-size:39px}.brand-product-summary{align-items:flex-start}.brand-product-summary strong{font-size:26px}.purchase-controls .button{font-size:12px}.product-info h1{font-size:48px}}
@media(prefers-reduced-motion:reduce){.brand-home *, .brand-about *, .brand-catalog *{transition:none!important}}
/* Checkout: province-aware delivery selection. */
.national-fields.shipping-picker { padding: 26px; margin-top: 24px; background: #fffefa; border: 1px solid #dedfd4; border-radius: 18px; color: #30392c; }
.shipping-heading { display: flex; align-items: flex-start; gap: 14px; padding-bottom: 24px; border-bottom: 1px solid #e8e9e0; }
.shipping-icon { display: grid; place-items: center; flex: 0 0 40px; height: 40px; border-radius: 12px; background: #eff1e8; }
.shipping-icon svg { width: 21px; height: 21px; }
.shipping-kicker { display: block; font-size: 10px; letter-spacing: .13em; font-weight: 650; color: #67735b; margin-bottom: 7px; }
.shipping-heading h3 { font-family: var(--sans); font-size: 19px; line-height: 1.3; font-weight: 600; margin: 0; letter-spacing: -.02em; }
.shipping-heading p { font-size: 12px; line-height: 1.5; color: #72796c; margin: 7px 0 0; }
.shipping-fee { margin-left: auto; flex-shrink: 0; text-align: right; font-size: 18px; font-weight: 650; white-space: nowrap; }
.shipping-fee small { display: block; font-size: 10px; font-weight: 400; color: #72796c; margin-top: 4px; }
.shipping-step-title { display: flex; align-items: center; gap: 9px; margin: 22px 0 12px; font-size: 13px; }
.shipping-step-title > span { display: grid; place-items: center; width: 21px; height: 21px; border: 1px solid #dfe3d5; border-radius: 50%; font-size: 10px; color: #647157; }
.shipping-step-title > strong { font-weight: 600; }
.shipping-step-title > small { margin-left: auto; font-size: 11px; color: #72796c; }
.carrier-options { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 10px; }
.shipping-picker label.carrier-option { position: relative; display: flex; align-items: center; gap: 12px; padding: 17px; border: 1px solid #e0e2d7; border-radius: 12px; background: #fff; cursor: pointer; margin: 0; transition: border-color .15s, background .15s; }
.shipping-picker .carrier-option input, .shipping-picker .branch-option input { position: absolute; width: 1px; height: 1px; opacity: 0; padding: 0; }
.carrier-option-copy { display: grid; gap: 6px; flex: 1; }
.carrier-option-copy strong { font-size: 15px; font-weight: 600; }
.carrier-option-copy small { font-size: 11px; font-weight: 400; color: #747b6c; }
.carrier-option-dot { width: 17px; height: 17px; border: 1px solid #c8cebe; border-radius: 50%; background: #fff; }
.carrier-option:has(input:checked), .branch-option:has(input:checked) { border-color: #7c8a68 !important; background: #f4f6ef !important; }
.carrier-option:has(input:checked) .carrier-option-dot { border: 5px solid #596a48; }
.carrier-option:hover, .branch-option:hover { border-color: #a1ac93 !important; }
.carrier-option:has(input:focus-visible), .branch-option:has(input:focus-visible) { outline: 3px solid #bdc8ac; outline-offset: 3px; }
.branch-search-label { font-size: 11px !important; margin: 0 0 8px !important; color: #72796c; }
.branch-search-wrap { display: flex; align-items: center; gap: 10px; border: 1px solid #dde1d4; background: #fff; border-radius: 10px; padding: 0 13px; }
.branch-search-wrap svg { width: 17px; height: 17px; flex-shrink: 0; color: #7c866f; }
.shipping-picker .branch-search-wrap input { width: 100%; border: 0; background: transparent; box-shadow: none; padding: 13px 0; min-height: 46px; font-size: 13px; outline: none; }
.branch-search-wrap:focus-within { outline: 2px solid #8a9876; outline-offset: 2px; }
.branch-result-count { font-size: 11px; color: #72796c; margin: 12px 0 10px; }
.branch-options { display: grid; gap: 8px; max-height: 285px; overflow-y: auto; padding: 3px 5px 3px 3px; scrollbar-width: thin; scrollbar-color: #c5cbbb transparent; }
.shipping-picker label.branch-option { position: relative; display: flex; align-items: center; gap: 12px; padding: 15px; margin: 0; border: 1px solid #e4e6dc; border-radius: 10px; background: #fff; cursor: pointer; }
.branch-option-copy { display: grid; gap: 5px; flex: 1; min-width: 0; }
.branch-option-copy strong { font-size: 13px; font-weight: 550; line-height: 1.4; }
.branch-option-copy small { font-size: 12px; line-height: 1.55; font-weight: 400; color: #747b6c; overflow-wrap: anywhere; }
.branch-option-check { display: grid; place-items: center; width: 22px; height: 22px; flex: 0 0 22px; border-radius: 50%; background: #5c6d4b; color: white; font-size: 12px; visibility: hidden; }
.branch-option:has(input:checked) .branch-option-check { visibility: visible; }
.branch-selected { margin-top: 12px; padding: 12px 14px; border-radius: 9px; background: #edf1e6; color: #536344; font-size: 12px; line-height: 1.6; }
.shipping-directory { display: inline-flex; gap: 8px; align-items: center; font-size: 11px; margin-top: 14px; color: #647157; text-underline-offset: 3px; }
.shipping-directory svg, .shipping-footer svg { width: 14px; height: 14px; }
.shipping-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; border-top: 1px solid #e8e9e0; margin-top: 23px; padding-top: 17px; font-size: 11px; }
.shipping-footer p { margin: 0; line-height: 1.6; color: #747b6c; }
.shipping-footer a { display: inline-flex; align-items: center; gap: 7px; color: #536344; text-underline-offset: 3px; }
.shipping-empty, .branch-no-results { padding: 16px; font-size: 13px; line-height: 1.6; color: #72796c; background: #f5f5ef; border-radius: 10px; margin: 0; }
@media (max-width: 600px) {
  .national-fields.shipping-picker { padding: 18px; border-radius: 14px; }
  .shipping-heading { gap: 10px; flex-wrap: wrap; }
  .shipping-heading h3 { font-size: 17px; }
  .shipping-heading > div { flex: 1; }
  .shipping-fee { margin-left: 50px; text-align: left; display: flex; align-items: baseline; gap: 9px; font-size: 16px; }
  .shipping-step-title { flex-wrap: wrap; font-size: 12px; }
  .shipping-step-title > small { margin-left: 30px; width: 100%; }
  .carrier-options { grid-template-columns: 1fr; }
  .branch-options { max-height: 300px; }
}
/* Keep action arrows beside the label, centered independently of the text baseline. */
:is(a, button, span):has(> .action-arrow) { display: inline-flex; align-items: center; justify-content: center; gap: 14px; }
.brand-button > span { display: block; }
:is(a, button, span) > svg.action-arrow { display: block; position: static; inset: auto; width: 18px; height: 18px; flex: 0 0 18px; margin: 0; vertical-align: middle; transform: none; }
a.button-light, button.button-light { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 54px; padding: 16px 24px; font-size: 14px; line-height: 1.4; text-align: center; }
