/* Shared storefront refinements; intentionally scoped away from the admin/CRM. */
.site-header { height: 80px; grid-template-rows: minmax(0, 1fr); align-items: center; }
.site-header .brand, .site-header .header-actions { grid-row: 1; align-self: center; }
html { scrollbar-gutter: stable; }
body.menu-open { overflow: hidden; }
.site-header .brand img { width: 148px; height: 54px; object-fit: contain; object-position: center; }
.site-header .header-search { top: 100%; }
.site-header .header-actions { gap: 14px; }
.footer-brand img { object-fit: contain; object-position: center; }
.mobile-drawer { inset: 12px 12px auto auto; height: auto; max-height: calc(100dvh - 24px); padding: 12px 20px; }
.mobile-drawer nav { padding-block: 8px; overscroll-behavior: contain; }
.mobile-drawer nav a { min-height: 43px; padding-block: 7px; }
.mobile-drawer__head { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.mobile-drawer__head button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #d9cdbc; border-radius: 50%; background: #f6f0e7; font-size: 25px; line-height: 1; }
.mobile-drawer__footer { display: flex; align-items: center; padding-top: 8px; border-top: 1px solid var(--line); }

.home-collections__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.home-collection { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; min-width: 0; height: 260px; padding: 24px 30px; overflow: hidden; isolation: isolate; border-radius: 28px; background: #e9e7e0; }
.home-collection--crossbody { background: #eee1dc; }
.home-collection--sneakers { background: #e4e8e1; }
.home-collection--sport { background: #e6e5e9; }
.home-collection--shoulder { background: #eae0e3; }
.home-collection--large { background: #e9e3d8; }
.home-collection--natural { grid-column: 1 / -1; height: 310px; grid-template-columns: .8fr 1.2fr; background: #eee4d9; }
.home-collection__copy { z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.home-collection__copy strong { color: #3a322d; font-size: clamp(18px, 2vw, 27px); font-weight: 600; line-height: 1.6; }
.home-collection__copy small { color: #78675e; font-size: 13px; }
.home-collection__copy b { display: grid; place-items: center; width: 36px; height: 36px; margin-top: 15px; border: 1px solid #a7978752; border-radius: 50%; font-size: 21px; font-weight: 400; transition: transform .3s ease, background .3s ease; }
.home-collection picture { display: block; height: 100%; min-width: 0; min-height: 0; }
.home-collection img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 10px 8px #48362814); transition: transform .55s cubic-bezier(.2,.7,.3,1); }
.home-collection:focus-visible { outline: 2px solid #594839; outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) {
    .home-collection:hover img { transform: translateY(-4px) rotate(-2deg) scale(1.04); }
    .home-collection:hover .home-collection__copy b { transform: rotate(45deg); background: #ffffff80; }
}

.product-card--fashion { overflow: visible; }
.product-card--fashion .product-card__media { position: relative; min-width: 0; }
.product-card__color-overlay { position: absolute; z-index: 6; bottom: 14px; inset-inline: 12px; display: flex; justify-content: center; pointer-events: none; }
.product-card--fashion .product-card__color-overlay .swatches { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin: 0; }
.product-card--fashion .product-card__color-overlay .swatches i { width: 15px; height: 15px; flex: 0 0 auto; background: var(--swatch); border: 2px solid white; border-radius: 50%; box-shadow: 0 1px 5px #0005; }
.product-card--fashion .product-card__color-overlay .swatches.sizes i { display: grid; place-items: center; width: 27px; height: 24px; border-radius: 8px; background: #fff; color: #24211e; font-size: 11px; font-style: normal; }
.product-card--fashion .product-image__hint { bottom: 42px; }
.product-card--fashion .product-card__title-row { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; min-width: 0; }
.product-card--fashion .product-card__title-row h3 { flex: 1; min-width: 0; margin: 4px 0; font-size: 15px; line-height: 1.7; }
.product-card__category { flex: 0 0 auto; max-width: 34%; font-size: 10px; color: #756a61; text-align: left; line-height: 1.6; }
.product-card--fashion .product-card__meta:empty { display: none; }
.product-card--fashion .product-card__compare { position: absolute; z-index: 9; top: 64px; left: 10px; display: flex; margin: 0; padding: 0; }
.product-card--fashion .wishlist-toggle { top: 12px; left: 10px; }
.product-card--fashion .wishlist-toggle button, .product-card--fashion .product-card__compare button { position: relative; display: inline-flex; justify-content: center; align-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #ffffff80; border-radius: 50%; background: #fffdf5ed; color: #302a24; box-shadow: 0 3px 12px #30271f12; }
.product-card--fashion .product-card__compare button.active { background: #d5c4ad; color: #29231d; }
.product-card--fashion .product-card__compare button svg { width: 18px; height: 18px; }
.product-card--fashion .product-card__compare button::after { content: attr(data-tooltip); position: absolute; z-index: 20; top: calc(100% + 7px); left: 0; width: max-content; max-width: 180px; padding: 7px 11px; border-radius: 9px; background: #34302a; color: white; font-size: 11px; line-height: 1.6; box-shadow: 0 5px 15px #29221c20; opacity: 0; visibility: hidden; transform: translateY(-5px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; pointer-events: none; }
.product-card--fashion .product-card__compare button:hover::after,
.product-card--fashion .product-card__compare button:focus-visible::after { opacity: 1; visibility: visible; transform: translateY(0); }
.product-card--fashion .product-card-body { display: block; min-height: 0; }
.product-card--fashion .product-card__commerce { margin-top: 10px; padding-top: 10px; }
.product-card--fashion .product-card__quick-add button, .product-card--fashion a.product-card__quick-add { position: relative; width: 44px; height: 44px; min-height: 44px; padding: 0; display: inline-flex; justify-content: center; align-items: center; border-radius: 50%; }
.product-card__quick-add svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.product-card__quick-add[data-tooltip]::after, .product-card__quick-add button[data-tooltip]::after { content: attr(data-tooltip); position: absolute; z-index: 20; top: calc(100% + 7px); left: 0; width: max-content; max-width: 170px; padding: 7px 10px; border-radius: 9px; background: #34302a; color: white; font-size: 11px; line-height: 1.6; opacity: 0; visibility: hidden; transform: translateY(-5px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; pointer-events: none; }
.product-card__quick-add[data-tooltip]:is(:hover, :focus-visible)::after, .product-card__quick-add button[data-tooltip]:is(:hover, :focus-visible)::after { opacity: 1; visibility: visible; transform: translateY(0); }
.product-card--fashion:hover .product-image:not(:has(.product-image__alternate)) .product-image__primary { opacity: 1; transform: none; }
.product-card--fashion .product-image:not(:has(.product-image__alternate)) .product-image__hint { display: none; }

.charm-edit { display: grid; grid-template-columns: 1fr minmax(0, 650px); gap: 32px; align-items: center; padding: 30px; border: 1px solid #dfd5c8; border-radius: 30px; background: #f1e9de; }
.charm-edit__copy > p:first-child { text-align: right; font-size: 10px; letter-spacing: .16em; color: #796553; }
.charm-edit__copy h2 { margin: 6px 0; font-size: 29px; }
.charm-edit__copy p { font-size: 13px; color: #6f6257; }
.charm-edit__copy a { display: inline-flex; align-items: center; gap: 20px; padding-block: 10px; font-size: 13px; }
.charm-edit__gallery { min-width: 0; }
.charm-edit__track { position: relative; display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-inline: contain; touch-action: pan-x pan-y; }
.charm-edit__track::-webkit-scrollbar { display: none; }
.charm-edit__slide { flex: 0 0 calc(50% - 6px); min-width: 0; display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 19px; background: #fbf8f3; scroll-snap-align: start; }
.charm-edit__slide img { width: 100px; height: 120px; flex-shrink: 0; object-fit: cover; border-radius: 13px; }
.charm-edit__slide span { font-size: 13px; }
.charm-edit__slide b { display: block; margin-top: 5px; font-size: 11px; font-weight: 500; color: #75685a; }
.charm-edit__controls { display: flex; justify-content: center; gap: 10px; margin-top: 12px; }
.charm-edit__controls button { width: 36px; height: 32px; border: 1px solid #d2c6b7; border-radius: 50%; color: #51463c; background: transparent; }
.home-discover .product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; }
.home-discover__more { display: flex; align-items: center; justify-content: center; gap: 14px; width: fit-content; min-height: 48px; min-width: 180px; margin: 26px auto 0; padding: 10px 28px; border: 1px solid #e6ddd1; border-radius: 999px; background: #fffdfa; font-size: 15px; transition: background .2s ease; }
.home-discover__more:hover { background: #eee5d8; }
.home-discover__more[aria-disabled="true"] { opacity: .55; cursor: progress; }
.home-discover__more[hidden] { display: none; }
.home-discover__status { text-align: center; min-height: 24px; margin: 10px 0 0; font-size: 12px; color: #75685a; }
.home-discover .product-card { animation: product-arrive .35s ease both; }
@keyframes product-arrive { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

@media (max-width: 1050px) {
    .site-header { height: 64px; padding-inline: 12px; display: grid; grid-template-columns: 44px 44px minmax(0, 1fr) 44px 44px; gap: 0; direction: rtl; }
    .site-header .brand { position: static; grid-column: 3; grid-row: 1; transform: none; justify-self: center; width: min(148px, 100%); }
    .site-header .brand img { width: 100%; height: 48px; }
    .site-header .header-actions { display: contents; }
    .site-header .header-actions .icon-button { display: grid; width: 44px; height: 44px; padding: 0; grid-row: 1; border-radius: 12px; }
    .site-header .header-actions [data-search-toggle] { grid-column: 2; }
    .site-header .header-actions .header-account { grid-column: 4; }
    .site-header .header-actions .cart-link:not(.header-account) { grid-column: 5; }
    .site-header .header-actions em { display: none; }
    .site-header .header-actions .menu-button { position: static !important; inset: auto !important; grid-column: 1; grid-row: 1; width: 44px; height: 44px; transform: none; }
    .site-header .menu-button b { display: none; }
    .site-header .cart-link > span { top: 1px; left: auto; right: 0; }
    .site-header::after { inset-inline: 12px; }
    .mobile-drawer { inset: 8px 8px auto auto; width: min(345px, calc(100vw - 32px)); height: auto; max-height: calc(100dvh - 16px); border-radius: 24px; }
    .home-collection { height: 230px; padding: 20px; }
    .home-collection--natural { height: 270px; }
    .home-discover .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .charm-edit { grid-template-columns: 1fr minmax(0, 55%); gap: 18px; }
    .charm-edit__slide { flex-basis: 100%; }
}
@media (max-width: 760px) {
    .site-header { height: 58px; padding-inline: 8px; grid-template-columns: 40px 40px minmax(0, 1fr) 40px 40px; }
    .site-header .header-actions .icon-button,
    .site-header .header-actions .menu-button { width: 40px; height: 44px; }
    .site-header .brand { max-width: 118px; }
    .site-header .brand img { height: 42px; }
    .site-header .header-search input { font-size: 16px; }
    .header-search { z-index: 75; }
    .home-collections__grid { gap: 10px; }
    .home-collection { grid-template-columns: 1fr; grid-template-rows: 132px auto; height: 218px; padding: 12px; border-radius: 20px; }
    .home-collection picture { grid-row: 1; grid-column: 1; }
    .home-collection__copy { grid-row: 2; align-items: center; gap: 2px; text-align: center; }
    .home-collection__copy strong { font-size: 15px; }
    .home-collection__copy small { font-size: 10px; }
    .home-collection__copy b { display: none; }
    .home-collection--natural { height: 240px; grid-template-rows: 165px auto; }
    .home-collection--natural img { max-width: 350px; margin-inline: auto; }
    .home-collections .section-heading h2 { font-size: 22px; }
    .product-card--fashion .product-card__title-row { gap: 5px; }
    .product-card--fashion .product-card__title-row h3 { font-size: 12px; }
    .product-card__category { font-size: 9px; max-width: 32%; }
    .product-card--fashion .product-card__color-overlay { bottom: 12px; inset-inline: 8px; }
    .product-card--fashion .product-card__color-overlay .swatches { gap: 5px; }
    .product-card--fashion .product-card__color-overlay .swatches i { width: 13px; height: 13px; }
    .product-card--fashion .wishlist-toggle { top: 8px; left: 8px; }
    .product-card--fashion .product-card__compare { top: 58px; left: 8px; }
    .home-discover .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 10px; }
    .home-discover .product-card { min-width: 0; }
    .charm-edit { padding: 18px 14px; grid-template-columns: 1fr; gap: 12px; border-radius: 23px; }
    .charm-edit__copy { display: grid; grid-template-columns: 1fr auto; align-items: center; }
    .charm-edit__copy > p:first-child { display: none; }
    .charm-edit__copy h2 { font-size: 22px; }
    .charm-edit__copy > p { grid-column: 1 / -1; grid-row: 2; margin: 0; font-size: 12px; }
    .charm-edit__copy a { grid-column: 2; grid-row: 1; font-size: 12px; }
    .charm-edit__slide { flex-basis: 86%; }
    .charm-edit__slide img { width: 85px; height: 95px; }
    .charm-edit__controls { margin-top: 8px; }
}

/* Full photographs at every breakpoint, with native touch scrolling and mouse drag. */
.model-hero__media { direction: ltr; height: min(68svh, 720px); min-height: 0; scroll-padding: 0; cursor: grab; background: #eeeae3; }
.model-hero__media.is-pointer-dragging { cursor: grabbing; scroll-behavior: auto; scroll-snap-type: none; user-select: none; }
.model-hero__media .model-hero__frame { min-width: 0; flex: 0 0 100%; }
.model-hero__media .model-hero__frame img { display: block; object-fit: contain; object-position: center; filter: none; transform: none; user-select: none; -webkit-user-drag: none; }
.model-hero__frame::after { display: none; }
.model-hero__pager { bottom: 12px; }
.model-hero__arrow { color: #332a22; background: #fffdf2e6; border-color: #ffffffb3; }
.model-hero__pause { position: absolute; z-index: 7; bottom: 12px; right: 16px; width: 36px; height: 36px; padding: 0; border: 1px solid #fff9; border-radius: 50%; color: #332a22; background: #fffdf2e6; }
.model-hero__pause[hidden], .charm-edit__controls[hidden] { display: none; }
@media (max-width: 1050px) {
    .model-hero__media { height: 60svh; min-height: 0; border-radius: 24px; }
}
@media (hover: none) {
    .product-card--fashion:hover .product-image__primary { opacity: 1; transform: none; }
    .product-card--fashion:hover .product-image__alternate { opacity: 0; }
    .product-card--fashion .product-image__hint { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .home-collection img, .home-collection__copy b, .product-card__compare button::after, .product-card__quick-add::after, .product-card__quick-add button::after { transition: none !important; }
    .home-discover .product-card { animation: none; }
}

/* Seasonal collection and product rails — final storefront composition. */
.site-header .cart-link > span {
    background: #e8dcc8;
    color: #2f2922;
    box-shadow: 0 0 0 2px #fff;
}

.model-hero { margin-bottom: 0; }
.model-hero__stage { width: 100%; }
.model-hero__media { border: 0; }

.seasonal-collection {
    --season-accent: #936140;
    padding-top: 34px;
}
body[data-seasonal-theme="winter"] .seasonal-collection { --season-accent: #71808f; }
body[data-seasonal-theme="spring"] .seasonal-collection { --season-accent: #70916d; }
body[data-seasonal-theme="summer"] .seasonal-collection { --season-accent: #c79545; }

.seasonal-collection__heading {
    position: relative;
    align-items: center;
    margin-bottom: 24px;
    border: 0;
}
.seasonal-collection__title {
    position: relative;
    min-width: 230px;
    padding: 8px 0 10px;
    overflow: hidden;
    text-align: right;
    isolation: isolate;
}
.seasonal-collection__title h2 {
    position: relative;
    z-index: 2;
    margin: 0;
    color: #171512;
    font-size: clamp(25px, 2.25vw, 34px);
    font-weight: 820;
    line-height: 1.35;
}
.seasonal-collection__title > p {
    position: relative;
    z-index: 2;
    margin: 1px 0 0;
    color: #171512;
    font-family: ui-serif, Georgia, serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .08em;
    text-align: right;
}
.seasonal-collection__leaves {
    position: absolute;
    z-index: 3;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}
.seasonal-collection__leaves i {
    position: absolute;
    top: -22px;
    left: var(--leaf-left);
    width: 7px;
    height: 12px;
    border-radius: 90% 15% 90% 15%;
    background: var(--leaf-color, #c88a3c);
    opacity: .82;
    animation: 6.8s linear var(--leaf-delay) infinite seasonal-title-leaf;
}
.seasonal-collection__leaves i:nth-child(1) { --leaf-left: 4%; --leaf-delay: -1s; --leaf-color: #d7a04d; }
.seasonal-collection__leaves i:nth-child(2) { --leaf-left: 18%; --leaf-delay: -5.4s; --leaf-color: #b86749; animation-duration: 8.5s; }
.seasonal-collection__leaves i:nth-child(3) { --leaf-left: 34%; --leaf-delay: -3.1s; --leaf-color: #d6b064; animation-duration: 7.8s; }
.seasonal-collection__leaves i:nth-child(4) { --leaf-left: 52%; --leaf-delay: -7.2s; --leaf-color: #a95740; animation-duration: 9.2s; }
.seasonal-collection__leaves i:nth-child(5) { --leaf-left: 68%; --leaf-delay: -2.4s; --leaf-color: #d49a3b; animation-duration: 8.2s; }
.seasonal-collection__leaves i:nth-child(6) { --leaf-left: 82%; --leaf-delay: -6.2s; --leaf-color: #bd7451; animation-duration: 8.9s; }
.seasonal-collection__leaves i:nth-child(7) { --leaf-left: 94%; --leaf-delay: -4s; --leaf-color: #d4b16a; animation-duration: 7.5s; }
@keyframes seasonal-title-leaf {
    0% { translate: 0 -10px; rotate: 0deg; }
    48% { translate: 13px 35px; rotate: 210deg; }
    100% { translate: -8px 76px; rotate: 480deg; }
}
.seasonal-collection__empty {
    margin: 0;
    padding: 34px;
    border-radius: 22px;
    background: #f5f0e8;
    color: #665e55;
    text-align: center;
}

.product-rail-actions,
.product-rail-controls {
    display: flex;
    align-items: center;
    gap: 8px;
}
.product-rail-actions > a {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    border: 1px solid var(--line);
    border-radius: 999px;
    font-size: 12px;
}
.product-rail-controls button {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid #ded5c9;
    border-radius: 50%;
    background: #f6f0e7;
    color: #302a24;
    font-size: 16px;
    transition: background .2s ease, transform .2s ease;
}
.product-rail-controls button:hover,
.product-rail-controls button:focus-visible {
    background: #e8dcc8;
    transform: translateY(-1px);
}

.home-product-rail .product-grid[data-product-carousel] {
    display: flex;
    justify-content: center;
    gap: 18px;
    padding: 4px 2px 18px;
    overflow-x: auto;
    overflow-y: hidden;
    direction: ltr;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 2px;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    touch-action: pan-x pan-y;
    cursor: grab;
}
.home-product-rail .product-grid[data-product-carousel]:has(.product-card:nth-child(5)) { justify-content: flex-start; }
.home-product-rail .product-grid[data-product-carousel]::-webkit-scrollbar { display: none; }
.home-product-rail .product-grid[data-product-carousel].is-pointer-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    scroll-behavior: auto;
    user-select: none;
}
.home-product-rail .product-grid[data-product-carousel] > .product-card {
    flex: 0 0 calc((100% - 54px) / 4);
    width: calc((100% - 54px) / 4);
    min-width: 0;
    direction: rtl;
    scroll-snap-align: center;
    scroll-snap-stop: always;
}

.product-card--fashion .product-card__media { overflow: visible; }
.product-card--fashion .product-card__badges { top: 9px; right: 9px; }
.product-card--fashion .sale-label,
.product-card--fashion .sale-label.is-featured,
.product-card--fashion .sale-label.is-unavailable {
    padding: 5px 8px;
    border: 1px solid #fff8;
    border-radius: 999px;
    background: #f3eadc;
    color: #332c25;
    box-shadow: 0 3px 12px #30271f12;
    font-size: 9px;
}
.product-card--fashion .wishlist-toggle,
.product-card--fashion .product-card__compare { z-index: 12; left: 9px; }
.product-card--fashion .wishlist-toggle { top: 9px; }
.product-card--fashion .product-card__compare { top: 52px; }
.product-card--fashion .wishlist-toggle button,
.product-card--fashion .product-card__compare button {
    width: 36px;
    height: 36px;
    background: #f3eadcf2;
}
.product-card--fashion .wishlist-toggle button::after,
.product-card--fashion .product-card__compare button::after {
    content: attr(data-tooltip);
    position: absolute;
    z-index: 40;
    top: 50%;
    left: calc(100% + 8px);
    width: max-content;
    max-width: 170px;
    padding: 6px 9px;
    border-radius: 8px;
    background: #34302a;
    color: #fff;
    font-size: 10px;
    line-height: 1.5;
    opacity: 0;
    visibility: hidden;
    transform: translate(4px, -50%);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    pointer-events: none;
}
.product-card--fashion .wishlist-toggle button:is(:hover, :focus-visible)::after,
.product-card--fashion .product-card__compare button:is(:hover, :focus-visible)::after {
    opacity: 1;
    visibility: visible;
    transform: translate(0, -50%);
}
.product-card--fashion .product-card-body { padding: 10px 2px 0; }
.product-card__variant-row {
    min-height: 18px;
    display: flex;
    justify-content: flex-start;
    margin-bottom: 2px;
}
.product-card--fashion .product-card__variant-row .swatches {
    justify-content: flex-start;
    gap: 5px;
    margin: 0;
}
.product-card--fashion .product-card__variant-row .swatches i {
    width: 11px;
    height: 11px;
    border: 1.5px solid #fff;
    box-shadow: 0 0 0 1px #82776b55;
}
.product-card--fashion .product-card__variant-row .swatches.sizes i {
    width: 23px;
    height: 19px;
    font-size: 8px;
}
.product-card--fashion .product-card__title-row { gap: 6px; }
.product-card--fashion .product-card__title-row h3 { margin: 2px 0; font-size: 13px; line-height: 1.65; }
.product-card--fashion .product-card__category { max-width: 31%; font-size: 9px; line-height: 1.45; }
.product-card--fashion .product-card__commerce { margin-top: 6px; padding-top: 7px; }
.product-card--fashion .price > span,
.product-card--fashion .price del { font-size: 8px; }
.product-card--fashion .price strong { font-size: 12px; }
.product-card--fashion .product-card__quick-add button,
.product-card--fashion a.product-card__quick-add {
    width: 36px;
    height: 36px;
    min-height: 36px;
    background: #f3eadc;
}
.product-card--fashion .product-card__quick-add svg { width: 18px; height: 18px; }

@media (max-width: 1050px) {
    .home-product-rail .product-grid[data-product-carousel] > .product-card {
        flex-basis: calc((100% - 18px) / 2);
        width: calc((100% - 18px) / 2);
    }
}

@media (max-width: 760px) {
    .seasonal-collection { padding-top: 22px; }
    .seasonal-collection__heading { align-items: flex-end; margin-bottom: 15px; }
    .seasonal-collection__title { min-width: 0; padding-block: 5px 8px; }
    .seasonal-collection__title h2 { font-size: 21px; }
    .seasonal-collection__title > p { font-size: 9px; }
    .product-rail-actions { align-items: flex-end; gap: 5px; }
    .product-rail-actions > a { min-height: 31px; padding: 4px 9px; font-size: 9px; }
    .product-rail-controls { gap: 4px; }
    .product-rail-controls button { width: 31px; height: 31px; font-size: 13px; }
    .home-product-rail .product-grid[data-product-carousel] { gap: 10px; padding-bottom: 12px; }
    .home-product-rail .product-grid[data-product-carousel] > .product-card {
        flex-basis: calc((100% - 10px) / 2);
        width: calc((100% - 10px) / 2);
    }
    .product-card--fashion .product-card__badges { top: 6px; right: 6px; }
    .product-card--fashion .sale-label,
    .product-card--fashion .sale-label.is-featured,
    .product-card--fashion .sale-label.is-unavailable { padding: 4px 6px; font-size: 7px !important; }
    .product-card--fashion .wishlist-toggle,
    .product-card--fashion .product-card__compare { left: 6px; }
    .product-card--fashion .wishlist-toggle { top: 6px; }
    .product-card--fashion .product-card__compare { top: 42px; }
    .product-card--fashion .wishlist-toggle button,
    .product-card--fashion .product-card__compare button { width: 30px; height: 30px; }
    .product-card--fashion .wishlist-toggle button svg,
    .product-card--fashion .product-card__compare button svg { width: 15px; height: 15px; }
    .product-card--fashion .wishlist-toggle button::after,
    .product-card--fashion .product-card__compare button::after { display: none; }
    .product-card--fashion .product-card-body { padding-top: 7px; }
    .product-card--fashion .product-card__variant-row { min-height: 14px; }
    .product-card--fashion .product-card__variant-row .swatches { gap: 4px; }
    .product-card--fashion .product-card__variant-row .swatches i { width: 9px; height: 9px; }
    .product-card--fashion .product-card__title-row h3 { font-size: 10.5px; line-height: 1.55; }
    .product-card--fashion .product-card__category { max-width: 34%; font-size: 7.5px; }
    .product-card--fashion .product-card__commerce {
        align-items: center;
        min-height: 36px;
        margin-top: 4px;
        padding-top: 6px;
    }
    .product-card--fashion .price > span,
    .product-card--fashion .price del { font-size: 7px !important; }
    .product-card--fashion .price strong { font-size: 9px; }
    .product-card--fashion .product-card__quick-add button,
    .product-card--fashion a.product-card__quick-add { width: 30px; height: 30px; min-height: 30px; }
    .product-card--fashion .product-card__quick-add svg { width: 15px; height: 15px; }
    /* Touch screens have no hover state: a floating tooltip here collides with the commerce divider. */
    .product-card--fashion .product-card__quick-add[data-tooltip]::after,
    .product-card--fashion .product-card__quick-add button[data-tooltip]::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .seasonal-collection__leaves i { animation: none; }
    .product-rail-controls button,
    .product-card--fashion .wishlist-toggle button::after,
    .product-card--fashion .product-card__compare button::after { transition: none; }
}

/* 2026-08-30 — final storefront composition */
.home-product-rail--bestsellers .section-heading { align-items: end; }

.charm-edit {
    display: block;
    padding-inline: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.charm-edit__copy {
    width: 100%;
    margin: 0 0 18px;
    padding: 0;
    border: 0;
    background: transparent;
}
.charm-edit__copy > div:first-child { display: grid; gap: 5px; }
.charm-edit__copy h2 { margin: 0; font-size: clamp(24px, 3vw, 39px); }
.charm-edit__copy p { margin: 0; color: #6f675e; font-size: 13px; }
.charm-edit__gallery {
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}
.charm-edit__gallery .product-grid[data-product-carousel] { margin: 0; }
.charm-edit__gallery .product-card { background: #fff; }
.home-product-rail .product-image,
.charm-edit__gallery .product-image { height: auto; aspect-ratio: 4 / 5; }
.charm-edit__gallery .product-image { background: var(--soft, #f3f5f4); }
.charm-edit__gallery .product-image img { object-fit: cover; }

.style-community { margin-top: clamp(58px, 8vw, 118px); }
.style-community header > div { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.style-community header h2 { margin: 0; }
.style-community__label {
    display: block;
    margin-top: 4px;
    color: #8a5f45;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
}

.mobile-drawer {
    width: min(424px, calc(100vw - 28px));
    max-height: calc(100dvh - 24px);
    padding: 14px;
    border: 1px solid rgba(80, 62, 47, .15);
    border-radius: 30px;
    background:
        radial-gradient(circle at 100% 0, rgba(178, 109, 70, .14), transparent 34%),
        linear-gradient(150deg, rgba(255, 253, 248, .98), rgba(239, 231, 219, .98));
    box-shadow: 0 30px 90px rgba(42, 31, 23, .24);
    overflow: hidden auto;
    backdrop-filter: blur(24px);
}
.mobile-drawer__head {
    position: sticky;
    z-index: 3;
    top: 0;
    min-height: 58px;
    padding: 2px 4px 12px;
    border-bottom-color: rgba(80, 62, 47, .12);
    background: transparent;
}
.mobile-drawer__head span { font-size: 16px; font-weight: 900; }
.mobile-drawer__head button {
    width: 42px;
    height: 42px;
    border-color: rgba(80, 62, 47, .14);
    background: rgba(255, 255, 255, .62);
    color: #17130f;
    transition: transform .35s cubic-bezier(.22, 1, .36, 1), background .2s ease;
}
.mobile-drawer__head button:is(:hover, :focus-visible) { transform: rotate(90deg) scale(1.06); background: #fff; }
.mobile-drawer nav { display: grid; gap: 3px; padding: 9px 0 2px; }
.mobile-drawer nav a {
    position: relative;
    min-height: 44px;
    padding: 10px 14px;
    border: 0;
    border-radius: 14px;
    color: #211a15;
    font-size: 13px;
    font-weight: 700;
    opacity: 0;
    transform: translateX(18px);
    animation: drawer-item-in .48s cubic-bezier(.22, 1, .36, 1) forwards;
    transition: color .25s ease, background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.mobile-drawer nav a::before { display: none; content: none; }
.mobile-drawer nav a::after { display: none; }
.mobile-drawer nav a:nth-child(2) { animation-delay: .035s; }
.mobile-drawer nav a:nth-child(3) { animation-delay: .07s; }
.mobile-drawer nav a:nth-child(4) { animation-delay: .105s; }
.mobile-drawer nav a:nth-child(5) { animation-delay: .14s; }
.mobile-drawer nav a:nth-child(6) { animation-delay: .175s; }
.mobile-drawer nav a:nth-child(7) { animation-delay: .21s; }
.mobile-drawer nav a:nth-child(8) { animation-delay: .245s; }
.mobile-drawer nav a:nth-child(9) { animation-delay: .28s; }
.mobile-drawer nav a:nth-child(10) { animation-delay: .315s; }
.mobile-drawer nav a:nth-child(11) { animation-delay: .35s; }
.mobile-drawer nav a:nth-child(12) { animation-delay: .385s; }
.mobile-drawer nav a:nth-child(13) { animation-delay: .42s; }
.mobile-drawer nav a:is(:hover, :focus-visible),
.mobile-drawer nav a[aria-current="page"] {
    color: #fff;
    background: linear-gradient(120deg, #17130f, #4b3022);
    box-shadow: 0 12px 25px rgba(54, 34, 22, .14);
    transform: translateX(-5px);
}
@keyframes drawer-item-in { to { opacity: 1; transform: translateX(0); } }

.footer-social-dock { display: flex; align-items: center; gap: 9px; margin-top: 18px; }
.footer-social-dock a {
    display: grid !important;
    place-items: center;
    width: 44px;
    height: 44px;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(79, 62, 47, .18) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .64) !important;
    color: #17130f !important;
    transition: transform .3s cubic-bezier(.22, 1, .36, 1), background .25s ease, color .25s ease !important;
}
.footer-social-dock a:is(:hover, :focus-visible) { transform: translateY(-4px) rotate(-4deg); background: #17130f !important; color: #fff !important; }
.footer-social-dock svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.footer-social-dock svg .is-fill { fill: currentColor; stroke: none; }
.footer-social-dock a:last-child svg { fill: currentColor; stroke: none; }
.footer-social-dock a:last-child svg .is-check { fill: none; stroke: var(--paper, #f8f4ec); stroke-width: 7; }

.product-card--fashion .product-card__quick-add button,
.product-card--fashion a.product-card__quick-add {
    border-color: #17130f;
    background: #17130f;
    color: #fff;
    box-shadow: 0 8px 20px rgba(23, 19, 15, .16);
    overflow: visible;
    transition: transform .3s cubic-bezier(.22, 1, .36, 1), box-shadow .3s ease, background .25s ease;
}
.product-card--fashion .product-card__quick-add:is(:hover, :focus-within) button,
.product-card--fashion a.product-card__quick-add:is(:hover, :focus-visible) {
    transform: translateY(-3px) rotate(-3deg);
    background: #2e2119;
    box-shadow: 0 13px 26px rgba(23, 19, 15, .22);
}
.product-card--fashion .product-card__quick-add svg { stroke: currentColor; transition: transform .3s cubic-bezier(.22, 1, .36, 1); }
.product-card--fashion .product-card__quick-add:is(:hover, :focus-within) svg { transform: translateX(-1px) scale(1.08); }
.product-card--fashion .product-card__quick-add svg circle { fill: currentColor; stroke: none; }

/* The product page keeps its commerce logic; only the showroom is restyled. */
.product-editorial-page .editorial-product {
    background:
        radial-gradient(circle at 12% 18%, rgba(181, 104, 67, .09), transparent 27%),
        radial-gradient(circle at 92% 42%, rgba(155, 139, 116, .13), transparent 29%),
        #f4f0e8;
}
.product-editorial-page .editorial-product__layout {
    grid-template-columns: minmax(330px, .9fr) minmax(520px, 1.38fr) minmax(88px, .24fr);
    gap: clamp(28px, 3.4vw, 58px);
    align-items: center;
}
.product-editorial-page .editorial-product__copy {
    max-width: 560px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}
.product-editorial-page .editorial-product__main-image {
    width: min(100%, 690px);
    height: min(75vh, 750px);
    min-height: 590px;
    margin-inline: auto;
    border: 0;
    border-radius: 280px 280px 34px 34px;
    background: linear-gradient(145deg, #e9e2d8, #dcd3c7);
    box-shadow: 0 28px 70px rgba(65, 49, 37, .17);
    overflow: hidden;
}
.product-editorial-page .editorial-product__main-image::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(70, 54, 41, .13);
    border-radius: inherit;
    box-shadow: inset 0 0 0 8px rgba(255, 255, 255, .18);
    pointer-events: none;
}
.product-editorial-page .editorial-product__main-image img {
    width: 100%;
    height: 100%;
    padding: clamp(8px, 1vw, 14px);
    object-fit: contain;
    object-position: center;
    background: transparent;
}
.product-editorial-page .editorial-product__visual:hover .editorial-product__main-image img { transform: scale(1.012); }

@media (max-width: 1180px) and (min-width: 821px) {
    .product-editorial-page .editorial-product__layout {
        grid-template-columns: minmax(280px, .82fr) minmax(410px, 1.2fr) 76px;
        gap: 24px;
    }
    .product-editorial-page .editorial-product__main-image { min-height: 530px; height: 66vh; }
}

@media (max-width: 760px) {
    .charm-edit__copy { align-items: flex-end; }
    .charm-edit__copy h2 { font-size: 22px; }
    .charm-edit__copy p { font-size: 10px; }
    .charm-edit__gallery { padding: 0; border-radius: 0; }
    .charm-edit__gallery .product-image { height: auto; min-height: 0; max-height: none; aspect-ratio: 4 / 5; }
    .mobile-drawer { inset: 8px 8px auto auto; width: min(360px, calc(100vw - 16px)); max-height: calc(100dvh - 16px); border-radius: 25px; }
    .mobile-drawer nav a { min-height: 42px; padding-block: 9px; }
    .style-community header { align-items: flex-end; }
}

@media (max-width: 820px) {
    .product-editorial-page .editorial-product { padding-top: 8px; }
    .product-editorial-page .editorial-product__layout { display: flex; flex-direction: column; gap: 20px; }
    .product-editorial-page .editorial-product__visual { width: 100%; order: 1; }
    .product-editorial-page .editorial-product__main-image {
        width: calc(100% - 18px);
        height: 62svh;
        min-height: 460px;
        max-height: 680px;
        border-radius: 34px 34px 54px 20px;
    }
    .product-editorial-page .editorial-product__copy { width: 100%; max-width: none; order: 2; }
    .product-editorial-page .editorial-product__thumbs { order: 3; }
}

@media (prefers-reduced-motion: reduce) {
    .mobile-drawer nav a { opacity: 1; transform: none; animation: none; }
    .mobile-drawer__head button,
    .footer-social-dock a,
    .product-card--fashion .product-card__quick-add,
    .product-card--fashion .product-card__quick-add svg { transition: none !important; }
}

/* 2026-08-30 — supplied campaign media, compact utility controls and card stickers */
.site-header .brand picture,
.footer-brand picture { display: block; }
.site-header .brand img { width: 156px; height: 52px; }
.footer-brand img { width: 168px; height: 56px; }

.mobile-drawer__head > span {
    color: #111;
    font-weight: 900;
    letter-spacing: -.02em;
}

.site-header .header-cart { position: relative; overflow: visible; }
.site-header .header-cart > .header-cart-count {
    top: 0;
    right: 0;
    left: auto;
    width: 17px;
    min-width: 17px;
    height: 17px;
    padding: 0;
    border: 1px solid #fff;
    border-radius: 50%;
    background: #e7d8c2;
    color: #211d19;
    box-shadow: 0 2px 8px rgba(43, 35, 27, .18);
    font-size: 9px !important;
    font-weight: 850;
    line-height: 1;
}

.delivery-status-rail,
.back-to-top {
    position: fixed;
    z-index: 58;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    min-width: 46px;
    min-height: 46px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(48, 40, 33, .14);
    border-radius: 50%;
    color: #30271f;
    background: rgba(255, 251, 244, .92);
    box-shadow: 0 12px 30px rgba(53, 42, 32, .16), inset 0 0 0 4px rgba(238, 224, 203, .42);
    backdrop-filter: blur(12px);
    transition: transform .35s cubic-bezier(.22, 1, .36, 1), box-shadow .3s ease, background .3s ease;
    animation: storefront-control-float 4.8s ease-in-out infinite;
}
.delivery-status-rail { inset: auto auto 18px 18px; }
.back-to-top { inset: auto 18px 18px auto; cursor: pointer; animation-delay: -2.4s; }
.product-editorial-page .delivery-status-rail,
body:has(.catalog-layout) .delivery-status-rail {
    right: auto;
    left: 18px;
    width: 46px;
    min-width: 46px;
    transform: none;
}
.back-to-top[hidden] { display: none; }
.delivery-status-rail svg,
.back-to-top svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.delivery-status-rail:is(:hover, :focus-visible),
.back-to-top:is(:hover, :focus-visible) {
    transform: translateY(-5px) rotate(-5deg);
    color: #fff;
    background: #3a3028;
    box-shadow: 0 18px 34px rgba(48, 38, 30, .24), inset 0 0 0 4px rgba(255, 255, 255, .09);
    animation-play-state: paused;
}
.back-to-top:is(:hover, :focus-visible) svg { transform: translateY(-2px); }
@keyframes storefront-control-float {
    0%, 100% { translate: 0 0; }
    50% { translate: 0 -3px; }
}

.home-collection--shoulder img,
.home-collection--large img {
    transform-origin: 50% 62%;
    animation: category-cutout-float 5.8s ease-in-out infinite;
}
.home-collection--large img { animation-delay: -2.9s; }
@media (hover: hover) and (pointer: fine) {
    .home-collection--shoulder:hover img,
    .home-collection--large:hover img {
        animation-play-state: paused;
        transform: translateY(-7px) rotate(-2deg) scale(1.055);
        filter: drop-shadow(0 18px 13px rgba(72, 54, 40, .17));
    }
}
@keyframes category-cutout-float {
    0%, 100% { translate: 0 0; rotate: 0deg; }
    50% { translate: 0 -5px; rotate: -.6deg; }
}

.product-card--fashion .wishlist-toggle button,
.product-card--fashion .wishlist-toggle button.active {
    border-color: #c8a87f;
    background: linear-gradient(145deg, #fffaf0, #f1dfc6);
    color: #fff;
    box-shadow: 0 7px 19px rgba(91, 68, 45, .16), inset 0 1px 0 #fff;
}
.product-card--fashion .wishlist-toggle button.active { color: #fff; background: linear-gradient(145deg, #e7c9b2, #c98e72); }
.product-card--fashion .wishlist-toggle button svg { filter: drop-shadow(0 1px 1px rgba(76, 52, 35, .28)); }
.product-card--fashion .wishlist-toggle button svg { transition: transform .3s cubic-bezier(.22, 1, .36, 1); }
.product-card--fashion .wishlist-toggle button:is(:hover, :focus-visible) svg { transform: scale(1.14) rotate(-7deg); }

.product-card--fashion .product-card__quick-add { position: relative; }
.product-card--fashion .product-card__quick-add button,
.product-card--fashion a.product-card__quick-add {
    border: 1px solid #c8a87f;
    border-radius: 52% 43% 49% 44% / 44% 53% 45% 51%;
    background: linear-gradient(145deg, #fffaf0, #f1dfc6);
    color: #2b241e;
    box-shadow: 0 8px 18px rgba(91, 68, 45, .16), inset 0 1px 0 #fff;
    transform: rotate(2deg);
}
.product-card--fashion .product-card__quick-add::before {
    content: "✦";
    position: absolute;
    z-index: 3;
    top: -5px;
    right: -5px;
    display: grid;
    place-items: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #c48a64;
    color: #fff;
    box-shadow: 0 3px 8px rgba(69, 48, 31, .22);
    font-size: 8px;
    line-height: 1;
    pointer-events: none;
}
.product-card--fashion .product-card__quick-add:is(:hover, :focus-within) button,
.product-card--fashion a.product-card__quick-add:is(:hover, :focus-visible) {
    transform: translateY(-4px) rotate(-4deg) scale(1.04);
    border-color: #b77d55;
    background: linear-gradient(145deg, #fffdf8, #ead0ae);
    color: #211a15;
    box-shadow: 0 14px 27px rgba(91, 68, 45, .22), inset 0 1px 0 #fff;
}

@media (max-width: 760px) {
    .site-header .brand img { width: 122px; height: 40px; }
    .site-header .header-cart > .header-cart-count { top: 1px; right: 1px; width: 16px; min-width: 16px; height: 16px; font-size: 8px !important; }
    .model-hero.container-wide { width: 100%; max-width: none; margin-inline: 0; }
    .model-hero__stage { width: 100vw; margin-inline: calc(50% - 50vw); }
    .model-hero__media {
        width: 100vw;
        height: clamp(620px, 78svh, 820px);
        min-height: 620px;
        border: 0;
        border-radius: 0;
        background: #eeeae3;
    }
    .model-hero__media .model-hero__frame { border: 0; border-radius: 0; background: #eeeae3; }
    .model-hero__media .model-hero__frame img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
    .model-hero__arrow--previous { left: 12px; }
    .model-hero__arrow--next { right: 12px; }
    .delivery-status-rail,
    .back-to-top { width: 42px; height: 42px; min-width: 42px; min-height: 42px; bottom: calc(76px + env(safe-area-inset-bottom)); }
    .delivery-status-rail { left: 11px; right: auto; }
    .product-editorial-page .delivery-status-rail,
    body:has(.catalog-layout) .delivery-status-rail {
        right: auto;
        left: 11px;
        width: 42px;
        min-width: 42px;
    }
    .back-to-top { right: 11px; left: auto; }
    .delivery-status-rail svg,
    .back-to-top svg { width: 19px; height: 19px; }
    .product-card--fashion .product-card__quick-add::before { top: -4px; right: -4px; width: 13px; height: 13px; font-size: 7px; }
}

@media (min-width: 1051px) {
    .site-footer { align-items: start; }
    .site-footer > .footer-brand,
    .site-footer > .footer-links--quick { align-self: start; }
    .site-footer > .footer-links--quick > h2 {
        display: flex;
        align-items: center;
        min-height: 56px;
        margin-top: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .delivery-status-rail,
    .back-to-top,
    .home-collection--shoulder img,
    .home-collection--large img { animation: none; }
    .delivery-status-rail,
    .back-to-top,
    .product-card--fashion .wishlist-toggle button svg,
    .product-card--fashion .product-card__quick-add,
    .product-card--fashion .product-card__quick-add button { transition: none !important; }
}

/* Catalog routes begin with useful controls, and the footer stays balanced on smaller screens. */
.catalog-products-first .catalog-layout { padding-top: clamp(20px, 3vw, 38px); }
.catalog-products-first .catalog-toolbar { top: 80px; }

@media (max-width: 1050px) {
    html,
    body { max-width: 100%; overflow-x: clip; }
    .catalog-products-first .catalog-layout { padding-top: 18px; }
    .catalog-toolbar { top: 64px; z-index: 45; }
    .site-footer {
        text-align: center;
        justify-items: center;
    }
    .site-footer > div {
        width: 100%;
        justify-items: center;
    }
    .site-footer h2,
    .footer-brand p { margin-inline: auto; text-align: center; }
    .site-footer > div:not(.footer-brand):not(.trust) > a { justify-content: center; }
    .footer-brand picture { width: fit-content; margin-inline: auto; }
    .footer-social-dock { justify-content: center; margin-inline: auto; }
    .copyright { text-align: center; }

    .footer-social-dock a:first-child { border-color: rgba(214, 41, 118, .24) !important; background: #fff0f7 !important; color: #d62976 !important; }
    .footer-social-dock a:nth-child(2) { border-color: rgba(34, 158, 217, .24) !important; background: #eef9ff !important; color: #229ed9 !important; }
    .footer-social-dock a:nth-child(3) { border-color: rgba(0, 154, 124, .24) !important; background: #edfbf7 !important; color: #009a7c !important; }
    .footer-social-dock a:first-child:is(:hover, :focus-visible) { background: #d62976 !important; color: #fff !important; }
    .footer-social-dock a:nth-child(2):is(:hover, :focus-visible) { background: #229ed9 !important; color: #fff !important; }
    .footer-social-dock a:nth-child(3):is(:hover, :focus-visible) { background: #009a7c !important; color: #fff !important; }
}

@media (max-width: 760px) {
    .catalog-products-first .catalog-layout { padding-top: 10px; }
    .catalog-toolbar {
        position: sticky;
        top: 58px;
        z-index: 45;
        background: rgba(255, 253, 249, .96);
        box-shadow: 0 12px 28px rgba(39, 33, 27, .09);
        backdrop-filter: blur(15px);
    }
    .site-footer { align-items: center; }
    .site-footer .trust,
    .site-footer .footer-links { text-align: center; }
}

/* 2026-08-30 — edge-to-edge campaign media and tactile controls. */
html,
body { overflow-x: clip; }
.model-hero.container-wide {
    width: 100%;
    max-width: none;
    margin-top: 0;
    margin-inline: 0;
}
.model-hero__stage,
.model-hero__media,
.model-hero__frame,
.model-hero__frame picture,
.model-hero__frame img {
    border-radius: 0 !important;
}
.model-hero__media {
    height: clamp(520px, min(56.25vw, calc(100svh - 92px)), 760px);
    border: 0;
    background: transparent;
}
.model-hero__frame,
.model-hero__frame picture { background: transparent; }
.model-hero__frame img {
    object-fit: cover !important;
    object-position: center !important;
    transform: scale(1.002);
}
.model-hero__pager {
    border-color: rgba(255, 255, 255, .42);
    background: linear-gradient(135deg, rgba(255, 255, 255, .24), rgba(33, 29, 25, .13));
    box-shadow: 0 10px 30px rgba(25, 22, 19, .14), inset 0 1px 0 rgba(255, 255, 255, .38);
    -webkit-backdrop-filter: blur(18px) saturate(1.35);
    backdrop-filter: blur(18px) saturate(1.35);
}
.model-hero__pager button span {
    background: rgba(255, 255, 255, .74);
    box-shadow: 0 1px 6px rgba(23, 20, 17, .18);
}
.model-hero__pager button[aria-current="true"] span { background: rgba(255, 255, 255, .98); }

.product-card--fashion .product-image,
.product-card--fashion .product-image picture,
.product-card--fashion .product-image img {
    border-radius: 0 !important;
}
.product-card--fashion .product-image img {
    object-fit: cover;
    object-position: center;
}
.product-card--fashion .wishlist-toggle button,
.product-card--fashion .wishlist-toggle button.active { color: #fff !important; }
.product-card--fashion .wishlist-toggle button svg,
.product-card--fashion .wishlist-toggle button svg path {
    fill: #fff !important;
    stroke: #fff !important;
}

.delivery-status-rail { isolation: isolate; }
.delivery-status-rail__icon { overflow: visible; }
.delivery-status-rail__signal {
    stroke: #b87b55;
    stroke-width: 2;
    transform-origin: center;
    animation: delivery-status-signal 2.4s ease-in-out infinite;
}
.delivery-status-toast {
    position: absolute;
    z-index: -1;
    bottom: calc(100% + 13px);
    left: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    width: max-content;
    max-width: min(245px, calc(100vw - 28px));
    padding: 10px 11px 10px 15px;
    border: 1px solid rgba(255, 255, 255, .58);
    border-radius: 19px;
    color: #201b17;
    background: linear-gradient(135deg, rgba(255, 253, 249, .9), rgba(239, 230, 218, .78));
    box-shadow: 0 18px 50px rgba(37, 30, 24, .2), inset 0 1px 0 rgba(255, 255, 255, .8);
    -webkit-backdrop-filter: blur(24px) saturate(1.35);
    backdrop-filter: blur(24px) saturate(1.35);
    direction: rtl;
    text-align: right;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px) scale(.94);
    transform-origin: bottom left;
    pointer-events: none;
    animation: delivery-status-toast-intro 6.2s 1.1s both;
}
.delivery-status-toast::after {
    content: "";
    position: absolute;
    bottom: -6px;
    left: 17px;
    width: 11px;
    height: 11px;
    border-right: 1px solid rgba(255, 255, 255, .42);
    border-bottom: 1px solid rgba(255, 255, 255, .42);
    background: rgba(241, 233, 221, .88);
    transform: rotate(45deg);
}
.delivery-status-toast__glyph {
    display: grid;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 9px;
    color: #fff;
    background: linear-gradient(145deg, #c9956f, #8e6045);
    box-shadow: 0 7px 16px rgba(112, 74, 48, .22);
    font-size: 12px;
}
.delivery-status-toast strong,
.delivery-status-toast small { display: block; white-space: nowrap; }
.delivery-status-toast strong { font-size: 11px; font-weight: 900; line-height: 1.6; }
.delivery-status-toast small { color: #766b62; font-size: 8px !important; line-height: 1.45; }
.delivery-status-rail:is(:hover, :focus-visible) .delivery-status-toast {
    animation: none;
    opacity: 1;
    visibility: visible;
    transform: none;
}
@keyframes delivery-status-signal {
    0%, 100% { opacity: .48; transform: scale(.88); }
    50% { opacity: 1; transform: scale(1.08); }
}
@keyframes delivery-status-toast-intro {
    0%, 8%, 100% { opacity: 0; visibility: hidden; transform: translateY(8px) scale(.94); }
    16%, 76% { opacity: 1; visibility: visible; transform: none; }
}

@media (max-width: 760px) {
    .model-hero__media {
        width: 100vw;
        height: clamp(500px, 133.333vw, 700px);
        min-height: 0;
        background: transparent;
    }
    .model-hero__media .model-hero__frame,
    .model-hero__media .model-hero__frame picture { background: transparent; }
    .model-hero__media .model-hero__frame img {
        object-fit: cover !important;
        object-position: center !important;
    }
    .delivery-status-toast { left: 0; padding: 9px 10px 9px 13px; border-radius: 17px; }
    .delivery-status-toast__glyph { width: 27px; height: 27px; border-radius: 8px; }
}

@media (prefers-reduced-motion: reduce) {
    .delivery-status-rail__signal,
    .delivery-status-toast { animation: none; }
}

/* Shared top-layer labels: never clipped by a carousel or rotated control. */
[data-tooltip]::after { display: none !important; }
.storefront-tooltip {
    position: fixed;
    inset: auto;
    z-index: 1000;
    display: none;
    width: max-content;
    max-width: min(260px, calc(100vw - 24px));
    margin: 0;
    padding: 11px 16px;
    border: 1px solid rgba(255, 255, 255, .85);
    border-radius: 17px;
    color: #28211b;
    background: linear-gradient(130deg, rgba(255, 253, 248, .96), rgba(239, 229, 215, .92));
    box-shadow: 0 12px 35px rgba(43, 32, 23, .2), inset 0 1px 0 #fff;
    -webkit-backdrop-filter: blur(20px) saturate(1.4);
    backdrop-filter: blur(20px) saturate(1.4);
    direction: rtl;
    text-align: right;
    font: 700 12px/1.8 IRANYekanX, Tahoma, sans-serif;
    pointer-events: none;
    overflow: visible;
}
.storefront-tooltip.is-visible { display: block; }
.storefront-tooltip strong { display: block; font-size: 12px; font-weight: 800; white-space: nowrap; }
.storefront-tooltip small { display: block; color: #776b60; font-size: 10px !important; font-weight: 400; }
.storefront-tooltip[data-kind="delivery"] { padding-inline-start: 46px; }
.storefront-tooltip[data-kind="delivery"]::before {
    content: "✦";
    position: absolute;
    top: 14px;
    right: 12px;
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    color: #fff;
    background: linear-gradient(145deg, #cfab8a, #9b6b4e);
}
.delivery-status-rail,
.delivery-status-rail:is(:hover, :focus-visible) {
    overflow: visible;
    animation: none;
    translate: none;
    transform: none;
}
.product-card--fashion .product-image {
    height: auto !important;
    aspect-ratio: 3 / 4;
    padding: 0;
    border: 0;
    border-radius: 14px !important;
    background: transparent;
}
.product-card--fashion .product-image picture,
.product-card--fashion .product-image img { border-radius: 0 !important; }
.editorial-product__wishlist button,
.product-card--fashion .wishlist-toggle button {
    border-color: rgba(255, 255, 255, .86);
    background: linear-gradient(135deg, rgba(255, 253, 246, .82), rgba(238, 222, 198, .68));
    -webkit-backdrop-filter: blur(13px) saturate(1.35);
    backdrop-filter: blur(13px) saturate(1.35);
    box-shadow: inset 0 1px 2px rgba(255, 255, 255, .95), inset 0 -1px 3px rgba(148, 116, 83, .12), 0 5px 14px rgba(52, 43, 34, .12);
}
.editorial-product__wishlist button svg,
.editorial-product__wishlist button svg path,
.product-card--fashion .wishlist-toggle button svg,
.product-card--fashion .wishlist-toggle button svg path {
    fill: none !important;
    stroke: #191715 !important;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: none;
}
.editorial-product__wishlist button.active svg path,
.product-card--fashion .wishlist-toggle button.active svg path {
    fill: #191715 !important;
}

/* Reference showroom: open paper-colored composition and a softer glass frame. */
.product-editorial-page .editorial-product { background: #f4f0ea; border-radius: 0; }
.product-editorial-page .editorial-product__png-decor { display: none; }
.product-editorial-page .editorial-product__arc { display: block; position: absolute; pointer-events: none; border: 1px solid rgba(159, 91, 65, .32); border-radius: 50%; }
.product-editorial-page .editorial-product__arc--top { width: 450px; height: 220px; top: 50px; left: -80px; transform: rotate(-11deg); }
.product-editorial-page .editorial-product__arc--bottom { width: 620px; height: 310px; bottom: -260px; left: 28%; }
.product-editorial-page .editorial-product__flower { display: block; position: absolute; top: 72px; left: 20%; color: #ad7159; font-size: 34px; }
.product-editorial-page .editorial-product__layout {
    grid-template-columns: minmax(300px, 1fr) minmax(440px, 1.2fr) minmax(100px, .42fr);
    gap: clamp(28px, 4vw, 70px);
    padding-block: 54px 68px;
    align-items: center;
}
.product-editorial-page .editorial-product__copy { padding: 0; border: 0; background: none; box-shadow: none; backdrop-filter: none; }
.product-editorial-page .editorial-product__copy h1 {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    font-size: clamp(34px, 3.6vw, 58px);
    line-height: 1.3;
    white-space: nowrap;
}
.product-editorial-page .editorial-product__summary { font-size: 12px; line-height: 2.15; color: #82786d; }
.product-editorial-page .editorial-product__rail { display: flex; flex-direction: column; justify-content: space-between; align-self: stretch; padding-block: 8px 0; }
.product-editorial-page .editorial-product__thumbs { max-height: 390px; }
.product-editorial-page .editorial-product__thumbs button { flex-shrink: 0; width: 58px; height: 72px; border-radius: 7px; padding: 3px; }
.product-editorial-page .editorial-product__promise { text-align: right; margin-top: auto; }
.product-editorial-page .editorial-product__promise strong { font-size: 12px; }
.product-editorial-page .editorial-product__promise p { color: #918579; font-size: 10px; line-height: 2; }
.product-editorial-page .editorial-product__promise span { color: #302a24; font-size: 9px; }
.editorial-product__image-open {
    position: relative;
    display: block;
    isolation: isolate;
    width: 100%;
    height: clamp(540px, 74vh, 720px);
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 80px 80px 24px 24px;
    background: rgba(244, 240, 234, .28);
    box-shadow: 0 25px 65px rgba(60, 49, 39, .12);
    overflow: hidden;
    cursor: zoom-in;
}
.editorial-product__image-backdrop {
    position: absolute;
    z-index: -1;
    inset: -12%;
    width: 124%;
    max-width: none;
    height: 124%;
    object-fit: cover;
    filter: blur(28px) saturate(.68);
    opacity: .62;
    pointer-events: none;
}
.product-editorial-page .editorial-product__main-image {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    border: 0;
    border-radius: inherit;
    background: transparent;
    box-shadow: none;
}
.product-editorial-page .editorial-product__main-image::after {
    border: 0;
    box-shadow: none;
}
.product-editorial-page .editorial-product__main-image img {
    width: 100%;
    height: 100%;
    padding: 0;
    object-fit: cover;
    object-position: center;
    transform: none;
}
.product-editorial-page .editorial-product__visual:hover .editorial-product__main-image img { transform: none; filter: none; }
.editorial-product__price-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-block: 23px 16px; direction: rtl; }
.editorial-product__price-row .editorial-product__price { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin: 0; min-width: 0; }
.editorial-product__price-row .editorial-product__price strong { font-size: clamp(21px, 2.1vw, 32px); white-space: nowrap; }
.editorial-product__price-row .editorial-product__price del { font-size: 11px; }
.editorial-product__price-row .editorial-product__variants {
    position: static;
    inset: auto;
    transform: none;
    width: auto;
    min-width: 0;
    max-width: 46%;
    flex-shrink: 0;
    margin: 0;
    padding: 5px 2px;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.editorial-product__price-row .editorial-product__variants > div { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 9px; }
.editorial-product__price-row .editorial-product__variants a { display: grid; place-items: center; width: 27px; height: 27px; padding: 0; }
.editorial-product__price-row .editorial-product__variants i { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; font-size: 9px; font-style: normal; }
.editorial-product__price-row .editorial-product__variants [data-tooltip] span { display: none; }
.editorial-product__price-row .editorial-product__variants a[aria-current="true"] i { outline: 1px solid #302820; outline-offset: 3px; }
.editorial-product__variant-select { display: grid; gap: 8px; margin: 0 0 18px; text-align: right; }
.editorial-product__variant-select > span { color: #5f564d; font-size: 12px; }
.editorial-product__variant-select select {
    width: 100%;
    min-height: 45px;
    padding: 9px 13px;
    border: 1px solid #ddd7ce;
    border-radius: 11px;
    color: #39312a;
    background: rgba(255, 255, 255, .83);
    font: inherit;
    font-size: 12px;
}

/* Native dialog top layer, fitted photography, bounded zoom/pan and swipe. */
body.product-lightbox-open,
html:has(.product-lightbox[open]) { overflow: hidden; }
.product-lightbox {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100dvh;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #171615;
    color: #fff;
    overflow: hidden;
}
.product-lightbox[open] { display: grid; grid-template-rows: 70px minmax(0, 1fr) 65px 35px; gap: 0; }
.product-lightbox__bar { grid-row: 1; z-index: 3; display: flex; align-items: center; justify-content: space-between; padding: 12px 25px; border-color: #ffffff18; color: #fff; background: #171615; }
.product-lightbox__bar strong { font-size: 13px; }
.product-lightbox__bar span { display: none; }
.product-lightbox__bar button,
.product-lightbox__tools button,
.product-lightbox__previous,
.product-lightbox__next { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0; border: 1px solid #ffffff35; border-radius: 50%; color: #fff; background: #ffffff14; font: 400 24px/1 IRANYekanX, Tahoma, sans-serif; }
.product-lightbox__viewport { grid-row: 2; position: relative; min-height: 0; overflow: hidden; touch-action: none; cursor: zoom-in; direction: ltr; }
.product-lightbox__viewport img { display: block; width: 100%; max-width: none; height: 100%; padding: 0; object-fit: contain; transform-origin: center; user-select: none; }
.product-lightbox.is-zoomed .product-lightbox__viewport { cursor: grab; }
.product-lightbox.is-zoomed .product-lightbox__viewport:active { cursor: grabbing; }
.product-lightbox__previous,
.product-lightbox__next { position: absolute; z-index: 3; top: calc(50% - 21px); width: 44px; background: #27252299; backdrop-filter: blur(12px); }
.product-lightbox__previous { left: 20px; }
.product-lightbox__next { right: 20px; }
.product-lightbox__previous svg,
.product-lightbox__next svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.product-lightbox [hidden] { display: none !important; }
.product-lightbox__tools { grid-row: 3; z-index: 3; display: flex; align-items: center; justify-content: center; gap: 10px; direction: ltr; }
.product-lightbox__tools [data-lightbox-reset] { border-radius: 20px; min-width: 76px; font-size: 12px; }
.product-lightbox__tools [data-lightbox-counter] { margin-left: 12px; font-size: 12px; direction: ltr; }
.product-lightbox__tools button:disabled { opacity: .35; cursor: default; }
.product-lightbox__caption { grid-row: 4; margin: 0; padding: 4px 15px; text-align: center; color: #d0c9c2; font-size: 10px; }

@media (max-width: 1180px) and (min-width: 821px) {
    .product-editorial-page .editorial-product__layout { grid-template-columns: minmax(260px, 1fr) minmax(350px, 1.2fr) 85px; gap: 23px; }
    .editorial-product__price-row { flex-wrap: wrap; }
}
@media (max-width: 820px) {
    .product-card--fashion .product-image { border-radius: 11px !important; }
    .product-editorial-page .editorial-product__layout { display: flex; gap: 15px; padding: 12px 8px 25px; }
    .product-editorial-page .editorial-product__visual { order: 1; padding: 0; }
    .editorial-product__image-open { height: clamp(430px, 68svh, 700px); border-radius: 34px 34px 18px 18px; }
    .product-editorial-page .editorial-product__main-image { width: 100%; height: 100%; min-height: 0; max-height: none; border-radius: inherit; }
    .product-editorial-page .editorial-product__rail { order: 2; display: block; width: 100%; padding: 0; }
    .product-editorial-page .editorial-product__thumbs { max-height: none; }
    .product-editorial-page .editorial-product__promise { display: none; }
    .product-editorial-page .editorial-product__copy { order: 3; width: 100%; margin: 0; padding: 10px 2px; }
    .product-editorial-page .editorial-product__copy h1 { font-size: 30px; }
    .product-editorial-page .editorial-product__arc,
    .product-editorial-page .editorial-product__flower { display: none; }
    .editorial-product__price-row { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 10px; }
    .editorial-product__price-row .editorial-product__price { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
    .editorial-product__price-row .editorial-product__price strong { font-size: clamp(18px, 5vw, 21px); white-space: nowrap; }
    .editorial-product__price-row .editorial-product__price del { font-size: 10px; }
    .editorial-product__price-row .editorial-product__variants { max-width: none; padding-inline: 0; }
    .editorial-product__price-row .editorial-product__variants > div { gap: 5px; }
    .editorial-product__price-row .editorial-product__variants a { width: 21px; height: 23px; }
    .editorial-product__price-row .editorial-product__variants i { width: 16px; height: 16px; }
    .product-lightbox[open] { grid-template-rows: 60px minmax(0, 1fr) 60px calc(35px + env(safe-area-inset-bottom)); }
    .product-lightbox__bar { padding: 9px 14px; }
    .product-lightbox__previous { left: 10px; }
    .product-lightbox__next { right: 10px; }
}
@media (prefers-reduced-motion: no-preference) {
    .storefront-tooltip.is-visible { animation: storefront-label-in .2s ease-out both; }
    @keyframes storefront-label-in { from { opacity: 0; translate: 0 4px; } to { opacity: 1; translate: 0 0; } }
}
/* Brand-color social controls stay recognisable on desktop and mobile. */
.footer-social-dock a{width:42px;height:42px;display:grid!important;place-items:center;padding:0!important;border:1px solid rgba(255,255,255,.58)!important;color:#fff!important;box-shadow:0 8px 20px rgba(30,38,33,.14),inset 0 1px rgba(255,255,255,.3);transition:transform .2s ease,box-shadow .2s ease}.footer-social-dock a:nth-child(1){background:radial-gradient(circle at 31% 105%,#ffd36b 0 25%,#f44767 48%,#8f45c7 76%,#515bd4 100%)!important}.footer-social-dock a:nth-child(2){background:linear-gradient(145deg,#39b9ed,#168bd1)!important}.footer-social-dock a:nth-child(3){background:linear-gradient(145deg,#37b779,#167b52)!important}.footer-social-dock a:hover{transform:translateY(-3px);box-shadow:0 13px 26px rgba(30,38,33,.22),inset 0 1px rgba(255,255,255,.35)}.footer-social-dock svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.footer-social-dock .is-fill{fill:currentColor;stroke:none}.footer-social-dock a:nth-child(3) svg>path:first-child{fill:rgba(255,255,255,.12)}.footer-social-dock .is-check{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}

/* The awning in the burgundy campaign shot is cropped out on wide screens. */
@media(min-width:1051px){.model-hero__media .model-hero__frame--full img{object-position:center 56%!important;transform:scale(1.16)!important;transform-origin:center bottom}}

.tracking-shell{display:block;min-height:720px;padding:70px max(20px,5vw);background:radial-gradient(circle at 12% 8%,rgba(144,96,66,.12),transparent 28%),linear-gradient(150deg,#f6f2eb,#eef3ef)}.tracking-intro{max-width:760px;margin:0 auto 30px;text-align:center}.tracking-intro>span{color:#8c5b39;font-size:.72rem;font-weight:900}.tracking-intro h1{margin:5px 0;font-size:clamp(34px,5vw,62px)}.tracking-intro p{max-width:650px;margin:8px auto;color:#66716a;font-size:.82rem}.tracking-options{max-width:1040px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tracking-options .auth-card{width:100%;padding:28px;border-color:rgba(51,75,63,.15);box-shadow:0 18px 55px rgba(35,52,43,.08)}.tracking-form-number{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#e7eee9;color:#315443;font-size:.7rem;font-weight:900}.tracking-options h2{margin:12px 0 0;font-size:1.3rem}.tracking-options .auth-card>p{margin:4px 0 16px}.tracking-result{max-width:800px;margin:24px auto 0}.tracking-result--shipment dl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.tracking-result--shipment dl>div{padding:13px;border-radius:13px;background:#f5f3ee}.tracking-result--shipment dt{color:#7a827d;font-size:.65rem}.tracking-result--shipment dd{margin:4px 0 0;font-size:.82rem;font-weight:800}.tracking-disclaimer{color:#69736d;font-size:.7rem;line-height:1.9}@media(max-width:760px){.footer-social-dock a{width:36px;height:36px}.tracking-shell{padding:42px 14px 90px}.tracking-options{grid-template-columns:1fr}.tracking-options .auth-card{padding:22px}.tracking-result--shipment dl{grid-template-columns:1fr}.tracking-intro h1{font-size:36px}}
