/* Boutique da Preta — tema filho RWD/OpenMage 1.0.0 */
:root {
    --bp-page: #fff;
    --bp-card: #fff;
    --bp-muted: #74676b;
    --bp-border: rgba(36, 26, 29, .12);
    --bp-soft: #FDF0F3;
    --bp-soft: color-mix(in srgb, var(--bp-primary) 10%, var(--bp-page));
    --bp-shadow: 0 18px 60px rgba(45, 24, 31, .10);
    --bp-shell: 1360px;
    --bp-gutter: clamp(18px, 4vw, 56px);
    --bp-display: Georgia, "Times New Roman", serif;
    --bp-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --bp-on-primary: #fff;
    --bp-on-accent: #fff;
}

html { scroll-behavior: smooth; }
body {
    background: var(--bp-page);
    color: var(--bp-text);
    font-family: var(--bp-sans);
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}
html.bp-theme-dark body, body.bp-theme-dark {
    --bp-page: var(--bp-dark-surface);
    --bp-card: #292124;
    --bp-card: color-mix(in srgb, var(--bp-dark-surface) 86%, white);
    --bp-text: var(--bp-dark-text);
    --bp-primary: var(--bp-dark-primary);
    --bp-accent: var(--bp-dark-text);
    --bp-muted: #BFB4B7;
    --bp-muted: color-mix(in srgb, var(--bp-dark-text) 68%, transparent);
    --bp-border: color-mix(in srgb, var(--bp-dark-text) 16%, transparent);
    --bp-soft: color-mix(in srgb, var(--bp-dark-primary) 12%, var(--bp-dark-surface));
    --bp-shadow: 0 18px 60px rgba(0, 0, 0, .28);
}
* { box-sizing: border-box; }
img { height: auto; max-width: 100%; }
a { color: inherit; }
a:hover, a:focus { color: var(--bp-primary); }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid #E98CA2; outline: 3px solid color-mix(in srgb, var(--bp-primary) 64%, white); outline-offset: 3px; }
.visually-hidden {
    border: 0 !important; clip: rect(0 0 0 0) !important; height: 1px !important;
    margin: -1px !important; overflow: hidden !important; padding: 0 !important;
    position: absolute !important; white-space: nowrap !important; width: 1px !important;
}
.bp-shell { margin-inline: auto; max-width: var(--bp-shell); padding-inline: var(--bp-gutter); width: 100%; }
.page { background: var(--bp-page); color: var(--bp-text); max-width: none; min-height: 100vh; }
.main-container { max-width: var(--bp-shell); padding: 42px var(--bp-gutter) 76px; }
.cms-index-index .main-container { max-width: none; padding: 0; }
.cms-index-index .main { padding: 0; }
.cms-index-index .col-main { float: none; padding: 0; width: 100%; }
.std ul { list-style: disc; }
h1, h2, h3, .page-title h1, .page-title h2, .product-name .h1 {
    color: var(--bp-text); font-family: var(--bp-display); font-weight: 500; letter-spacing: -.025em; text-transform: none;
}
h1, .page-title h1 { font-size: clamp(2.1rem, 5vw, 4.2rem); line-height: 1.02; }
h2 { font-size: clamp(1.85rem, 3.8vw, 3.25rem); line-height: 1.08; }
.page-title { border: 0; margin: 0 0 30px; }
.page-title h1 { font-size: clamp(2rem, 4vw, 3.4rem); }
.bp-eyebrow {
    color: var(--bp-primary); display: inline-block; font-size: .76rem; font-weight: 800;
    letter-spacing: .16em; margin-bottom: 12px; text-transform: uppercase;
}
.bp-text-link { align-items: center; display: inline-flex; font-weight: 750; gap: 8px; text-decoration: none; }

/* Buttons and fields */
.button, button.button, .bp-button, input[type="submit"] {
    align-items: center; background: var(--bp-primary); border: 1px solid var(--bp-primary); border-radius: 999px;
    color: var(--bp-on-primary); cursor: pointer; display: inline-flex; font-family: var(--bp-sans); font-size: .88rem;
    font-weight: 800; justify-content: center; letter-spacing: .02em; min-height: 48px; padding: 0 24px;
    text-decoration: none; text-transform: none; transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover, .button:focus, button.button:hover, .bp-button:hover, .bp-button:focus {
    background: var(--bp-accent); border-color: var(--bp-accent); box-shadow: 0 10px 24px rgba(40, 20, 26, .16);
    color: var(--bp-on-accent); transform: translateY(-1px);
}
.bp-button--secondary { background: var(--bp-accent); border-color: var(--bp-accent); color: var(--bp-on-accent); }
input.input-text, input[type="email"], input[type="text"], input[type="password"], input[type="tel"], select, textarea {
    background: var(--bp-card); border: 1px solid var(--bp-border); border-radius: 12px; color: var(--bp-text);
    min-height: 48px; padding: 11px 14px; transition: border .2s ease, box-shadow .2s ease;
}
input.input-text:focus, select:focus, textarea:focus { border-color: var(--bp-primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--bp-primary) 14%, transparent); }

/* Announcement and header */
.bp-announcement { background: var(--bp-accent); color: var(--bp-on-accent); font-size: .76rem; font-weight: 750; letter-spacing: .06em; text-align: center; }
.bp-announcement .bp-shell { padding-block: 8px; }
.bp-header { background: color-mix(in srgb, var(--bp-page) 94%, transparent); border-bottom: 1px solid var(--bp-border); position: sticky; top: 0; z-index: 1000; backdrop-filter: blur(18px); }
.bp-header-main { align-items: center; display: grid; gap: clamp(18px, 3vw, 44px); grid-template-columns: minmax(150px, 220px) minmax(280px, 1fr) auto; min-height: 88px; }
.bp-header-main.skip-links { border: 0; clear: none; overflow: visible; }
.bp-header-main.skip-links .skip-link { float: none; height: auto; line-height: normal; width: auto; }
.bp-logo { display: inline-flex; margin: 0; max-width: 210px; padding: 6px 0; width: auto; }
.bp-logo img { display: block; height: 66px; object-fit: contain; object-position: left center; width: auto; }
.bp-search { display: block; position: static; }
.bp-search #search_mini_form { position: relative; }
.bp-search .input-box { padding: 0; }
.bp-search #search {
    background: var(--bp-soft); border: 1px solid transparent; border-radius: 999px; color: var(--bp-text); height: 48px;
    max-width: none; padding: 0 54px 0 20px; width: 100%;
}
.bp-search #search:focus { background: var(--bp-card); border-color: var(--bp-primary); }
.bp-search .search-button { background: transparent; border: 0; border-radius: 50%; height: 42px; min-height: 42px; right: 4px; top: 3px; width: 42px; }
.bp-search .search-button::before { filter: grayscale(1); opacity: .75; }
.bp-header-actions { align-items: center; display: flex; gap: 2px; }
.bp-icon-link, .bp-theme-toggle {
    align-items: center; background: transparent; border: 0; border-radius: 12px; color: var(--bp-text); display: inline-flex;
    flex-direction: column; font-size: .65rem; gap: 3px; justify-content: center; min-height: 52px; min-width: 52px; padding: 4px 6px; text-decoration: none;
}
.bp-icon-link:hover, .bp-icon-link:focus, .bp-theme-toggle:hover { background: var(--bp-soft); color: var(--bp-primary); }
.bp-icon-link svg, .bp-theme-toggle svg { fill: none; height: 22px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 22px; }
.bp-menu-trigger, .bp-mobile-search { display: none; }
.bp-theme-toggle { cursor: pointer; }
.bp-minicart { position: relative; }
.bp-minicart .skip-cart { background: transparent; color: var(--bp-text); height: 52px; line-height: normal; min-width: 58px; padding: 7px 4px; }
.bp-minicart .skip-cart:hover { background: var(--bp-soft); color: var(--bp-primary); }
.bp-minicart .skip-cart .icon { margin: 0 auto 2px; }
.bp-minicart .label { display: block; font-size: .65rem; }
.bp-minicart .count { color: var(--bp-primary); }
.bp-minicart .minicart-wrapper { border: 1px solid var(--bp-border); border-radius: var(--bp-radius); box-shadow: var(--bp-shadow); top: 61px; }
.bp-account-panel { background: var(--bp-card); border: 1px solid var(--bp-border); border-radius: var(--bp-radius); box-shadow: var(--bp-shadow); padding: 12px; position: absolute; right: var(--bp-gutter); top: 75px; width: 250px; z-index: 20; }
.bp-account-panel:not(.skip-active) { display: none; }
.bp-account-panel li a { border-radius: 9px; display: block; padding: 10px 12px; }
.bp-nav-wrap { border-top: 1px solid var(--bp-border); }
.bp-nav { display: block; overflow: visible; }
.bp-nav #nav { border: 0; margin: 0; text-align: center; }
.bp-nav #nav > li { float: none; display: inline-block; }
.bp-nav #nav > li > a { color: var(--bp-text); font-size: .78rem; font-weight: 800; letter-spacing: .055em; padding: 15px clamp(10px, 1.5vw, 20px); text-transform: uppercase; }
.bp-nav #nav > li > a:hover, .bp-nav #nav > li.active > a { color: var(--bp-primary); }
.bp-nav .nav-primary li.level0 ul { background: var(--bp-card); border: 1px solid var(--bp-border); border-radius: 0 0 16px 16px; box-shadow: var(--bp-shadow); padding: 10px; }
.bp-nav .nav-primary li.level1 a { border: 0; border-radius: 8px; color: var(--bp-text); padding: 9px 13px; text-align: left; }

/* Breadcrumbs and messages */
.breadcrumbs { margin: 0 auto; max-width: var(--bp-shell); padding: 18px var(--bp-gutter) 0; }
.breadcrumbs li { color: var(--bp-muted); font-size: .75rem; text-transform: none; }
.messages { margin: 18px auto; max-width: calc(var(--bp-shell) - (2 * var(--bp-gutter))); }
.messages li { border-radius: 12px; }

/* Home */
.bp-home { overflow: hidden; }
.bp-hero { display: grid; gap: clamp(24px, 5vw, 70px); grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); min-height: min(760px, calc(100vh - 120px)); padding-block: clamp(32px, 5vw, 72px); }
.bp-hero-copy { align-self: center; max-width: 610px; padding-block: 36px; position: relative; z-index: 2; }
.bp-hero-copy h1 { font-size: clamp(3rem, 6.3vw, 6.7rem); margin: 0 0 24px; }
.bp-hero-copy p { color: var(--bp-muted); font-size: clamp(1rem, 1.4vw, 1.22rem); max-width: 570px; }
.bp-hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 22px; margin-top: 34px; }
.bp-hero-media { border-radius: clamp(24px, 4vw, 48px) clamp(24px, 4vw, 48px) 140px clamp(24px, 4vw, 48px); min-height: 580px; overflow: hidden; position: relative; }
.bp-hero-media picture, .bp-hero-media img { display: block; height: 100%; width: 100%; }
.bp-hero-media img { object-fit: cover; }
.bp-hero-media--fallback { background: radial-gradient(circle at 30% 25%, #ffd5df 0, transparent 28%), linear-gradient(145deg, var(--bp-primary), #7d2a42 82%); }
.bp-hero-placeholder { align-items: center; color: rgba(255,255,255,.95); display: flex; flex-direction: column; inset: 0; justify-content: center; position: absolute; text-align: center; }
.bp-hero-placeholder span { font-family: var(--bp-display); font-size: clamp(7rem, 16vw, 15rem); letter-spacing: -.1em; line-height: .7; opacity: .26; }
.bp-hero-placeholder small { background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.35); border-radius: 999px; margin-top: 50px; padding: 10px 18px; }
.bp-hero-stamp { align-items: center; background: var(--bp-card); border-radius: 18px; bottom: 26px; box-shadow: var(--bp-shadow); display: flex; flex-direction: column; left: 26px; max-width: 220px; padding: 14px 18px; position: absolute; text-align: center; }
.bp-hero-stamp strong { color: var(--bp-primary); font-family: var(--bp-display); font-size: 1.12rem; }
.bp-hero-stamp span { color: var(--bp-muted); font-size: .72rem; }
.bp-section { padding-block: clamp(58px, 8vw, 108px); }
.bp-section-heading { align-items: end; display: flex; gap: 28px; justify-content: space-between; margin-bottom: clamp(25px, 4vw, 46px); }
.bp-section-heading h2 { margin: 0; }
.bp-category-grid { display: grid; gap: clamp(12px, 2vw, 24px); grid-template-columns: repeat(12, 1fr); }
.bp-category-card { border-radius: var(--bp-radius); display: block; grid-column: span 2; min-height: 330px; overflow: hidden; position: relative; text-decoration: none; }
.bp-category-card:nth-child(1), .bp-category-card:nth-child(4) { border-radius: 90px var(--bp-radius) var(--bp-radius) var(--bp-radius); }
.bp-category-card:nth-child(3), .bp-category-card:nth-child(6) { border-radius: var(--bp-radius) var(--bp-radius) 90px var(--bp-radius); }
.bp-category-card img, .bp-category-pattern { background: linear-gradient(145deg, color-mix(in srgb, var(--bp-primary) 16%, var(--bp-page)), color-mix(in srgb, var(--bp-accent) 20%, var(--bp-page))); height: 100%; inset: 0; object-fit: cover; position: absolute; transition: transform .5s ease; width: 100%; }
.bp-category-card:hover img { transform: scale(1.035); }
.bp-category-card::after { background: linear-gradient(transparent 48%, rgba(17,8,11,.78)); content: ""; inset: 0; position: absolute; }
.bp-category-pattern::after { color: color-mix(in srgb, var(--bp-primary) 30%, transparent); content: "BP"; font-family: var(--bp-display); font-size: 5rem; left: 50%; position: absolute; top: 45%; transform: translate(-50%,-50%); }
.bp-category-name { bottom: 18px; color: #fff; font-family: var(--bp-display); font-size: clamp(1.2rem, 1.8vw, 1.55rem); left: 18px; position: absolute; right: 18px; z-index: 2; }
.bp-products-section { background: color-mix(in srgb, var(--bp-surface) 72%, var(--bp-page)); padding-block: clamp(62px, 8vw, 106px); }
.bp-products-section--sale { background: var(--bp-page); }
.bp-product-grid { display: grid !important; gap: clamp(18px, 2.3vw, 34px); grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 !important; }
.bp-product-grid::after { display: none !important; }
.bp-product-grid > .item, .bp-product-card { clear: none !important; float: none !important; margin: 0 !important; padding: 0 !important; position: relative; width: auto !important; }
.bp-product-image { background: #f4efed; border-radius: var(--bp-radius); display: block; overflow: hidden; position: relative; }
.bp-product-image::before { content: ""; display: block; padding-top: 125%; }
.bp-product-image img { height: 100%; inset: 0; object-fit: cover; position: absolute; transition: transform .45s ease; width: 100%; }
.bp-product-card:hover .bp-product-image img { transform: scale(1.025); }
.bp-product-badge { background: var(--bp-card); border-radius: 999px; color: var(--bp-primary); font-size: .68rem; font-weight: 850; left: 12px; letter-spacing: .08em; padding: 7px 10px; position: absolute; text-transform: uppercase; top: 12px; z-index: 3; }
.bp-product-info { min-height: 145px !important; padding: 15px 3px 0 !important; position: relative !important; }
.bp-product-info h2, .bp-product-info h3, .bp-product-info .product-name { font-family: var(--bp-sans); font-size: .94rem; font-weight: 600; letter-spacing: 0; line-height: 1.35; margin: 0 0 7px; min-height: 2.55em; text-transform: none; }
.bp-product-info h2 a, .bp-product-info h3 a { color: var(--bp-text); text-decoration: none; }
.bp-product-info .price-box { color: var(--bp-text); margin: 5px 0; }
.bp-product-info .price { color: var(--bp-text); font-size: 1.06rem; font-weight: 850; }
.bp-product-info .old-price .price { color: var(--bp-muted); font-size: .78rem; font-weight: 500; }
.bp-product-info .special-price .price { color: var(--bp-primary); }
.bp-product-info .price-label { color: var(--bp-muted); font-size: .7rem; text-transform: none; }
.bp-product-cta { color: var(--bp-primary); display: inline-block; font-size: .78rem; font-weight: 800; margin-top: 4px; text-decoration: none; }
.bp-product-actions { align-items: center; display: flex; gap: 8px; margin-top: 12px; opacity: 0; transform: translateY(4px); transition: opacity .2s, transform .2s; }
.bp-product-card:hover .bp-product-actions, .bp-product-card:focus-within .bp-product-actions { opacity: 1; transform: none; }
.bp-product-actions .button { flex: 1; min-height: 42px; padding: 0 12px; }
.bp-wishlist-button { align-items: center; background: var(--bp-card); border: 1px solid var(--bp-border); border-radius: 50%; color: var(--bp-text); display: flex; font-size: 1.5rem; height: 42px; justify-content: center; padding: 0; width: 42px; }
.bp-editorial { align-items: stretch; display: grid; gap: 0; grid-template-columns: 1.05fr .95fr; padding-block: clamp(70px, 10vw, 140px); }
.bp-editorial-art { align-items: end; background: linear-gradient(145deg, #2c1720 0, #8d334d 52%, #ec7996 100%); border-radius: 120px var(--bp-radius) var(--bp-radius) var(--bp-radius); color: #fff; display: flex; min-height: 560px; overflow: hidden; padding: clamp(32px, 5vw, 72px); position: relative; }
.bp-editorial-art::before, .bp-editorial-art::after { border: 1px solid rgba(255,255,255,.24); border-radius: 50%; content: ""; height: 400px; position: absolute; right: -130px; top: -100px; width: 400px; }
.bp-editorial-art::after { height: 280px; right: -70px; top: -40px; width: 280px; }
.bp-editorial-art span { font-family: var(--bp-display); font-size: clamp(3.1rem, 6vw, 6.6rem); letter-spacing: -.05em; line-height: .88; position: relative; z-index: 2; }
.bp-editorial-copy { align-self: center; background: var(--bp-soft); border-radius: 0 var(--bp-radius) var(--bp-radius) 0; margin-block: 52px; padding: clamp(38px, 6vw, 90px); }
.bp-editorial-copy h2 { margin: 0 0 22px; }
.bp-editorial-copy p { color: var(--bp-muted); font-size: 1.06rem; margin-bottom: 30px; }
.bp-benefits { border-block: 1px solid var(--bp-border); }
.bp-benefits-grid { display: grid; grid-template-columns: repeat(4, 1fr); padding-block: 30px; }
.bp-benefits-grid > div { border-right: 1px solid var(--bp-border); display: flex; flex-direction: column; gap: 3px; padding: 4px 28px; }
.bp-benefits-grid > div:first-child { padding-left: 0; }
.bp-benefits-grid > div:last-child { border-right: 0; }
.bp-benefits strong { font-size: .86rem; }
.bp-benefits span { color: var(--bp-muted); font-size: .72rem; }

/* Catalog navigation and toolbar */
.col-left.sidebar { padding-right: 34px; }
.block-layered-nav .block-title, .block-title { border: 0; padding: 0 0 14px; }
.block-layered-nav .block-title strong, .block-title strong { color: var(--bp-text); font-family: var(--bp-display); font-size: 1.45rem; font-weight: 500; }
.block-layered-nav .block-content { background: var(--bp-soft); border-radius: var(--bp-radius); padding: 18px; }
.block-layered-nav dt { border-top: 1px solid var(--bp-border); color: var(--bp-text); font-size: .82rem; font-weight: 850; margin-top: 12px; padding: 17px 0 8px; text-transform: none; }
.block-layered-nav dt:first-child { border-top: 0; margin-top: 0; }
.block-layered-nav dd li { color: var(--bp-muted); font-size: .82rem; margin: 3px 0; }
.block-layered-nav dd a { border-radius: 8px; display: block; padding: 5px 7px; }
.block-layered-nav .currently li { background: var(--bp-card); border-radius: 10px; padding: 9px 28px 9px 10px; }
.toolbar { align-items: center; background: transparent; border-block: 1px solid var(--bp-border); display: flex; justify-content: space-between; margin: 0 0 30px; padding: 14px 0; }
.toolbar .pager, .toolbar .sorter { align-items: center; display: flex; gap: 14px; }
.toolbar label { color: var(--bp-muted); font-size: .75rem; text-transform: none; }
.toolbar select { height: 42px; min-height: 42px; padding: 6px 34px 6px 10px; }
.toolbar .amount { color: var(--bp-muted); font-size: .78rem; }
.toolbar .view-mode { border: 0; }
.toolbar-bottom { margin-top: 48px; }
.bp-catalog-products .bp-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bp-products-list { margin: 0; }
.bp-list-card { align-items: center; border-bottom: 1px solid var(--bp-border); display: grid; gap: 34px; grid-template-columns: 260px 1fr; padding: 30px 0; }
.bp-list-image { border-radius: var(--bp-radius); display: block; overflow: hidden; }
.bp-list-image img { aspect-ratio: 4/5; object-fit: cover; width: 100%; }
.bp-list-card .product-name { font-size: 1.7rem; margin-bottom: 10px; }
.bp-list-card .desc { color: var(--bp-muted); max-width: 680px; }
.bp-empty-state { background: var(--bp-soft); border-radius: var(--bp-radius); margin: 50px auto; max-width: 720px; padding: 60px 30px; text-align: center; }
.bp-empty-state strong { font-family: var(--bp-display); font-size: 2rem; }
.bp-empty-state p { color: var(--bp-muted); }

/* Product page */
.product-view .product-essential { background: transparent; }
.product-view .product-essential form { display: grid; gap: clamp(28px, 5vw, 72px); grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); }
.product-view .product-img-box, .product-view .product-shop, .product-view .add-to-cart-wrapper { float: none; padding: 0; width: auto; }
.product-view .product-img-box { grid-row: span 2; }
.product-view .product-name h1, .product-view .product-name .h1 { font-size: clamp(2rem, 4vw, 4rem); line-height: 1.04; }
.product-view .product-img-box .product-name { display: none; }
.product-view .product-shop .product-name { display: block; }
.product-view .product-image { background: #f4efed; border: 0; border-radius: var(--bp-radius); overflow: hidden; }
.product-view .product-image img { width: 100%; }
.product-view .more-views h2 { color: var(--bp-muted); font-family: var(--bp-sans); font-size: .74rem; text-transform: uppercase; }
.product-view .more-views li { margin: 0 10px 10px 0; }
.product-view .more-views a { border: 1px solid var(--bp-border); border-radius: 10px; overflow: hidden; }
.product-view .price-info { float: none; max-width: none; padding: 14px 0; }
.product-view .price-box .price { color: var(--bp-text); font-size: clamp(1.5rem, 2.5vw, 2rem); }
.product-view .price-box .special-price .price { color: var(--bp-primary); }
.product-view .extra-info { float: none; max-width: none; padding: 3px 0 18px; }
.product-view .short-description { border-block: 1px solid var(--bp-border); color: var(--bp-muted); margin: 12px 0 22px; padding: 20px 0; }
.product-options { background: var(--bp-soft); border: 0; border-radius: var(--bp-radius); margin: 0; padding: 22px; }
.product-options dt label { color: var(--bp-text); font-size: .82rem; text-transform: none; }
.product-options select { width: 100%; }
.configurable-swatch-list li { margin: 0 9px 9px 0; }
.configurable-swatch-list .swatch-link { border: 1px solid var(--bp-border); border-radius: 10px; min-height: 44px; min-width: 44px; }
.product-options-bottom { background: transparent; border: 0; padding: 18px 0 0; }
.add-to-cart { border-top: 0; display: flex; gap: 12px; padding: 0; }
.add-to-cart .qty-wrapper { align-items: center; display: flex; gap: 8px; }
.add-to-cart .qty { border-radius: 12px; height: 52px; width: 64px; }
.add-to-cart-buttons { flex: 1; margin: 0; }
.add-to-cart-buttons .button { font-size: 1rem; min-height: 54px; width: 100%; }
.add-to-links { margin-top: 14px; }
.add-to-links a { color: var(--bp-muted); font-size: .78rem; font-weight: 750; text-transform: none; }
.product-collateral { margin-top: 70px; }
.product-collateral .toggle-tabs { border: 0; border-bottom: 1px solid var(--bp-border); background: transparent; }
.product-collateral .toggle-tabs li { border: 0; }
.product-collateral .toggle-tabs li > span { color: var(--bp-muted); font-size: .82rem; text-transform: none; }
.product-collateral .toggle-tabs li.current > span { color: var(--bp-primary); }
.product-collateral > dl > dd { border: 0; color: var(--bp-muted); padding: 28px 0; }
.box-up-sell { margin-top: 70px; }

/* Cart, checkout and account */
.cart-table { border: 1px solid var(--bp-border); border-radius: var(--bp-radius); overflow: hidden; }
.cart-table th { background: var(--bp-soft); color: var(--bp-muted); font-size: .72rem; text-transform: uppercase; }
.cart-table td { border-color: var(--bp-border); }
.cart-table .product-cart-image img { border-radius: 12px; }
.cart-table .product-name { font-size: 1rem; }
.cart-forms, .cart-totals-wrapper, .crosssell { padding-left: 22px; }
.cart .discount, .cart .shipping, .cart-totals { background: var(--bp-soft); border: 0; border-radius: var(--bp-radius); padding: 22px; }
.cart-totals table { color: var(--bp-text); }
.cart-totals .checkout-types .button { width: 100%; }
.opc { border: 0; }
.opc .section { border: 1px solid var(--bp-border); border-radius: 14px; margin-bottom: 12px; overflow: hidden; }
.opc .section .step-title { background: var(--bp-soft); border: 0; padding: 17px 18px; }
.opc .section .step-title h2 { color: var(--bp-text); font-family: var(--bp-sans); font-size: .95rem; font-weight: 800; text-transform: none; }
.opc .section.allow .step-title:hover { background: color-mix(in srgb, var(--bp-primary) 10%, var(--bp-page)); }
.opc .section.active .step-title { background: var(--bp-primary); }
.opc .section.active .step-title h2, .opc .section.active .step-title .number { color: var(--bp-on-primary); }
.opc .step { background: var(--bp-card); border: 0; padding: 24px; }
.fieldset { border: 0; margin: 0 0 24px; padding: 0; }
.fieldset .legend { border: 0; color: var(--bp-text); font-family: var(--bp-display); font-size: 1.5rem; margin: 0 0 20px; padding: 0; }
.form-list label { color: var(--bp-text); font-size: .78rem; }
.dashboard .box-account, .my-account .addresses-list li.item { background: var(--bp-soft); border: 0; border-radius: var(--bp-radius); padding: 22px; }

/* Footer */
.bp-footer { background: color-mix(in srgb, var(--bp-accent) 96%, black); color: rgba(255,255,255,.78); margin-top: 0; }
.bp-footer-newsletter { background: var(--bp-primary); color: var(--bp-on-primary); }
.bp-footer-newsletter-grid { align-items: center; display: grid; gap: 50px; grid-template-columns: .9fr 1.1fr; padding-block: 42px; }
.bp-footer-newsletter .bp-eyebrow { color: inherit; opacity: .75; }
.bp-footer-newsletter h2 { color: inherit; font-size: clamp(1.7rem, 3vw, 2.7rem); margin: 0; }
.bp-newsletter-form, .bp-newsletter-form .block-content { margin: 0; padding: 0; }
.bp-newsletter-fields { display: flex; gap: 10px; }
.bp-newsletter-form input.input-text { background: rgba(255,255,255,.96); border: 0; color: #22171b; flex: 1; height: 52px; }
.bp-newsletter-form .button { background: var(--bp-accent); border-color: var(--bp-accent); color: var(--bp-on-accent); flex: 0 0 auto; }
.bp-newsletter-form small { display: block; font-size: .7rem; margin-top: 8px; opacity: .75; }
.bp-footer-grid { display: grid; gap: clamp(28px, 5vw, 72px); grid-template-columns: 1.4fr repeat(2, 1fr); padding-block: 66px 52px; }
.bp-footer-brand img { filter: brightness(0) invert(1); max-height: 72px; object-fit: contain; object-position: left; }
.bp-footer-brand p { font-size: .84rem; max-width: 300px; }
.bp-social-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.bp-social-links a { border: 1px solid rgba(255,255,255,.25); border-radius: 999px; color: #fff; font-size: .74rem; padding: 8px 12px; text-decoration: none; }
.bp-footer-links .links, .bp-footer-links ul { float: none; width: auto; }
.bp-footer-links .links li, .bp-footer-links li { border: 0; padding: 4px 0; }
.bp-footer-links .links a, .bp-footer-links a { color: rgba(255,255,255,.72); font-size: .78rem; padding: 0; text-decoration: none; text-transform: none; }
.bp-footer-links .links a:hover { color: #fff; }
.bp-footer-links .block-title, .bp-footer-links .links .block-title { color: #fff; }
.bp-footer-links .links .block-title, .bp-footer-links h3, .bp-footer-links strong { color: #fff; font-size: .82rem; letter-spacing: .08em; margin-bottom: 13px; text-transform: uppercase; }
.bp-footer-bottom { align-items: center; border-top: 1px solid rgba(255,255,255,.13); display: flex; font-size: .68rem; justify-content: space-between; padding-block: 20px; }
.bp-footer .copyright { border: 0; color: rgba(255,255,255,.6); margin: 0; padding: 0; }

/* Dark mode refinements */
body.bp-theme-dark .bp-footer { background: #0d090b; }
body.bp-theme-dark .bp-product-image, body.bp-theme-dark .product-view .product-image { background: #eee8e7; }
body.bp-theme-dark .bp-footer-brand img { filter: brightness(0) invert(1); }
body.bp-theme-dark .product-options, body.bp-theme-dark .block-layered-nav .block-content { background: var(--bp-soft); }

@media (max-width: 1199px) {
    .bp-header-main { grid-template-columns: 180px 1fr auto; gap: 18px; }
    .bp-icon-link span, .bp-minicart .label { display: none; }
    .bp-icon-link { min-width: 44px; }
    .bp-category-card { grid-column: span 4; min-height: 390px; }
    .bp-category-card:nth-child(n+4) { display: none; }
    .bp-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .bp-catalog-products .bp-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 770px) {
    :root { --bp-gutter: 18px; --bp-radius: min(var(--bp-radius), 18px); }
    body { font-size: 15px; }
    .main-container { padding-top: 24px; }
    .bp-announcement { font-size: .66rem; }
    .bp-header { position: sticky; }
    .bp-header-main { gap: 4px; grid-template-columns: 52px 1fr auto; min-height: 68px; padding-inline: 10px; }
    .bp-menu-trigger { display: inline-flex; }
    .bp-logo { justify-content: center; max-width: none; }
    .bp-logo img { height: 50px; max-width: 145px; object-position: center; }
    .bp-header-actions { gap: 0; }
    .bp-header-actions > .bp-icon-link[href*="wishlist"], .bp-theme-toggle { display: none; }
    .bp-mobile-search { display: inline-flex; }
    .bp-icon-link { height: 48px; min-height: 48px; min-width: 44px; }
    .bp-minicart .skip-cart { min-width: 46px; }
    .bp-search { background: var(--bp-card); border-bottom: 1px solid var(--bp-border); padding: 10px 14px; position: absolute; top: 68px; width: 100%; }
    .bp-search:not(.skip-active) { display: none; }
    .bp-account-panel { border-radius: 0 0 16px 16px; right: 0; top: 68px; width: 100%; }
    .bp-nav-wrap { border: 0; }
    .bp-nav { background: var(--bp-card); border-right: 1px solid var(--bp-border); bottom: 0; box-shadow: var(--bp-shadow); left: 0; overflow-y: auto; padding: 16px; position: fixed; top: 0; width: min(88vw, 380px); z-index: 1002; }
    .bp-nav:not(.skip-active) { display: none; }
    .bp-nav #nav { text-align: left; }
    .bp-nav #nav > li { border-bottom: 1px solid var(--bp-border); display: block; }
    .bp-nav #nav > li > a { padding: 16px 10px; }
    .bp-nav .nav-primary li.level0 ul { border: 0; border-radius: 0; box-shadow: none; position: static; }
    .bp-hero { display: flex; flex-direction: column; min-height: 0; padding-block: 24px 60px; }
    .bp-hero-copy { order: 2; padding: 4px 2px 0; }
    .bp-hero-copy h1 { font-size: clamp(2.8rem, 14vw, 4.3rem); margin-bottom: 18px; }
    .bp-hero-copy p { font-size: 1rem; }
    .bp-hero-actions { align-items: stretch; flex-direction: column; gap: 14px; margin-top: 25px; }
    .bp-hero-actions .bp-text-link { justify-content: center; }
    .bp-hero-media { border-radius: 22px 22px 70px 22px; min-height: min(112vw, 600px); order: 1; }
    .bp-hero-stamp { bottom: 14px; left: 14px; }
    .bp-section { padding-block: 62px; }
    .bp-section-heading { align-items: start; margin-bottom: 25px; }
    .bp-section-heading .bp-text-link { font-size: .74rem; flex: 0 0 auto; }
    .bp-category-grid { display: flex; margin-inline: -18px; overflow-x: auto; padding: 0 18px 12px; scroll-snap-type: x mandatory; }
    .bp-category-card, .bp-category-card:nth-child(n+4) { display: block; flex: 0 0 72vw; min-height: 390px; scroll-snap-align: start; }
    .bp-product-grid, .bp-catalog-products .bp-product-grid { gap: 24px 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bp-product-info { min-height: 120px !important; padding-top: 11px !important; }
    .bp-product-info h2, .bp-product-info h3, .bp-product-info .product-name { font-size: .82rem; }
    .bp-product-info .price { font-size: .92rem; }
    .bp-product-actions { opacity: 1; transform: none; }
    .bp-product-actions .button { display: none; }
    .bp-wishlist-button { height: 38px; position: absolute; right: 7px; top: -48px; width: 38px; }
    .bp-editorial { display: block; padding-block: 76px; }
    .bp-editorial-art { border-radius: 70px 18px 0 0; min-height: 430px; padding: 32px 24px; }
    .bp-editorial-copy { border-radius: 0 0 18px 18px; margin: 0; padding: 36px 24px 42px; }
    .bp-benefits-grid { grid-template-columns: repeat(2, 1fr); }
    .bp-benefits-grid > div { border-bottom: 1px solid var(--bp-border); padding: 18px 14px; }
    .bp-benefits-grid > div:nth-child(2) { border-right: 0; }
    .bp-benefits-grid > div:nth-child(n+3) { border-bottom: 0; }
    .col-left.sidebar { padding-right: 0; }
    .sidebar .block-layered-nav { margin-bottom: 24px; }
    .block-layered-nav .block-content { border-radius: 14px; }
    .toolbar { align-items: stretch; flex-wrap: wrap; gap: 10px; }
    .toolbar .sorter { width: 100%; }
    .toolbar .sort-by { display: flex; flex: 1; }
    .toolbar .sort-by select { flex: 1; }
    .toolbar .pager { width: 100%; }
    .bp-list-card { align-items: start; gap: 16px; grid-template-columns: 120px 1fr; }
    .bp-list-card .product-name { font-size: 1rem; }
    .bp-list-card .desc { display: none; }
    .product-view .product-essential form { display: block; }
    .product-view .product-shop { margin-top: 24px; }
    .product-view .product-name .h1 { font-size: 2.35rem; }
    .product-view .add-to-cart-wrapper { margin-top: 18px; }
    .add-to-cart { align-items: stretch; flex-direction: column; }
    .add-to-cart .qty-wrapper { justify-content: space-between; }
    .cart-table { border-radius: 14px; }
    .cart-forms, .cart-totals-wrapper, .crosssell { padding-left: 0; }
    .bp-footer-newsletter-grid { gap: 24px; grid-template-columns: 1fr; padding-block: 38px; }
    .bp-newsletter-fields { align-items: stretch; flex-direction: column; }
    .bp-footer-grid { gap: 32px; grid-template-columns: 1fr 1fr; padding-block: 48px 38px; }
    .bp-footer-brand { grid-column: 1 / -1; }
    .bp-footer-links:nth-child(4) { display: none; }
    .bp-footer-bottom { align-items: flex-start; flex-direction: column; gap: 8px; }
}

@media (max-width: 420px) {
    .bp-header-actions .skip-account { display: none; }
    .bp-product-grid, .bp-catalog-products .bp-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bp-footer-grid { grid-template-columns: 1fr; }
    .bp-footer-brand { grid-column: auto; }
}

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