/*
 * Aadnevik-specific fixes layered on top of Porto 5.2 without touching
 * parent-theme or core files (kept in the child theme per its own theme.xml
 * policy: Porto updates should be absorbed, not overwritten).
 *
 * Desktop main-navigation visibility (D22):
 * Magento core's Magento_Theme::html/sections.phtml (2.4.9) renders
 * .nav-sections-item-content with inline style="display:none" and
 * aria-hidden="true", meant to be cleared by the mage/tabs + mage/collapsible
 * JS widgets once a desktop viewport is detected. Porto's compiled CSS only
 * shows that panel through a plain (non-!important) ".active" class rule,
 * which cannot win over the element's own inline style even when the widget
 * does add the class. Magento's own Blank/Luma theme carries an !important
 * desktop override in _navigation.less to cover exactly this; Porto does not
 * import that partial, so the site never inherited the equivalent rule under
 * 2.4.9's core template. Net effect without this: the entire main navigation
 * menu is invisible at every desktop width. This restores core Magento's own
 * intended desktop behaviour, scoped to this site's header only.
 */
@media (min-width: 768px) {
    .page-header .nav-sections-item-content {
        display: block !important;
    }
}

/*
 * Shop mega-menu collapsed to ~574px at every desktop width (D34,
 * 2026-09-26), same class of bug as the fix above: Porto's styles-l.css
 * only restores `.nav-sections { width: 100% }` at desktop widths when
 * the header additionally carries a `sticky-header` or `drop-menu` class
 * (`header.page-header.sticky-header .nav-sections`, `.page-header .drop-
 * menu .nav-sections`). Aadnevik has porto_settings/header/sticky_header
 * set to 0 (desktop sticky deliberately disabled) and never uses the
 * drop-menu header variant, so neither override ever applies, and
 * .nav-sections is permanently stuck at its mobile-drawer width. This
 * collapses everything nested inside it, including the "SHOP" mega-menu
 * (a CMS HTML block with an Owl Carousel of collection thumbnails,
 * ".our-brands"/".brands-slider") -- Owl Carousel calculates each item's
 * width from its container at initialization, so a ~574px container
 * packs 6+ items into ~78px each, too narrow for their title text, which
 * overflows sideways into neighbouring items and reads as overlapping
 * titles. Restoring the width unconditionally at desktop, matching what
 * the gated Porto rules were already trying to do.
 */
@media (min-width: 992px) {
    .page-header .nav-sections {
        width: 100% !important;
    }
}

/*
 * Mobile off-canvas drawer (D22):
 * Porto's own mobile design hides .nav-sections-item-title entirely (no
 * per-section accordion headers -- the drawer is meant to show the menu
 * content directly), and Porto's JS correctly adds "nav-open" to <html> when
 * the hamburger is tapped (confirmed: .nav-sections becomes a properly
 * positioned, correctly sized fixed-position drawer on toggle). But no CSS
 * rule ever clears .nav-sections-item-content's inline style="display:none"
 * for that state, so the drawer opens visually empty on every mobile device.
 * This is the same class of gap as the desktop rule above, for the mobile
 * side of the same underlying core-template/widget mismatch.
 */
html.nav-open .nav-sections-item-content {
    display: block !important;
}


/*
 * Shop/season grid: no rating stars, no wishlist/compare icons on product
 * cards (D35, 2026-09-28). Owner supplied a pre-migration "Shop" grid
 * screenshot (e.g. spring-summer-2019.html) showing plain cards -- image,
 * "SS19 LOOK n", price -- with neither element. Current production renders
 * both: Porto's stock product/list.phtml gates them on
 * porto_settings/category/rating_star and .../addtowishlist, and both are
 * "1" in the live config AND in the pre-cutover (2026-09-21) DB backup, so
 * this isn't a config regression from the migration -- the old Porto 3.1.8
 * grid template evidently didn't render them from this same config value,
 * for reasons not reproducible now (that codebase is gone). Restoring the
 * look via a scoped CSS hide, the same technique already used elsewhere in
 * this file, rather than flipping the config (which also governs the
 * account wishlist page and other templates this screenshot says nothing
 * about). Scoped to .catalog-category-view only -- product-detail related/
 * upsell cards are a separate template and not covered by this evidence.
 */
.catalog-category-view .products-grid .product-item .rating-summary,
.catalog-category-view .products-grid .product-item .product-item-actions .actions-secondary.towishlist,
.catalog-category-view .products-grid .product-item .product-item-actions .actions-secondary.tocompare {
    display: none !important;
}

/*
 * Shop mega-menu prev/next arrows left-aligned instead of centered
 * (D34, 2026-09-26): the reference shows the arrow pair as a balanced,
 * centered group under the carousel. Owl Carousel renders its own
 * `.owl-nav` as a plain, full-width block with the two `<button>`s left
 * in normal inline flow (`text-align` was never set), so they simply sit
 * at the left edge. Centering the text-align on the (already full-width)
 * wrapper is the standard, minimal way to center inline-block children
 * without touching the carousel's own width/position, the thumbnails, or
 * the titles -- verified mathematically live: arrow-group center X now
 * matches both the carousel-stage center X and the submenu center X
 * exactly (0px difference), and Owl Carousel's own prev/next click
 * handlers were confirmed still functional (stage transform changes on
 * click).
 */
@media (min-width: 992px) {
    .page-header.type21 .sw-megamenu .submenu .owl-nav {
        text-align: center;
    }
}

/*
 * D40 (2026-10-01): Appointment-form Submit button, two bugs fixed together,
 * see appointment-form.phtml's own comment on the <button> for the full
 * story. The site-wide button.button span rule (custom.css:1878) sets its
 * own background:#000000, padding:0 15px and line-height:35px -- stacked
 * inside this button's own dedicated #555 background and 8px 10px padding
 * (custom.css:7111), the two different box models produced a visible offset
 * gray edge around the black span (caught live, owner screenshot). Making
 * the span transparent with no padding/line-height of its own restores a
 * single, clean button face using only the dedicated rule's own styling.
 */
#bookAnAppointmentForm .buttons-set .button.inverted span {
    background: transparent;
    padding: 0;
    line-height: inherit;
    color: inherit;
}

/*
 * D40 (2026-10-01): the phone-number row's two table cells (country code,
 * phone number) have no cellspacing/padding of their own anywhere in the
 * template, so they sit flush against each other with the phone input's
 * left border touching (visually merging with) the select's right border
 * -- caught live, owner screenshot, worse once the code selector's own
 * column width was narrowed (D40, same session) since that removed the
 * accidental breathing room its old 40% width happened to leave.
 */
#bookAnAppointmentForm #phone {
    box-sizing: border-box;
    width: calc(100% - 10px);
    margin-left: 10px;
}

/*
 * D22/D42: off-canvas drawer -- Magento's tab layout floats every
 * .nav-sections-item-content with margin-left:-100% so Menu and Account
 * share one slot; D22 un-hides both, so un-float them to stack (menu first,
 * account below) instead of drawing one on top of the other.
 */
html.nav-open .nav-sections .nav-sections-item-content {
    float: none;
    clear: both;
    margin-left: 0;
}

/*
 * D44 (2026-10-07): type21 header rebuilt to the owner's final truth -- the
 * pre-migration production header (reference screenshot, scale ~1.66x:
 * logo 386px there = 232px native). header.phtml renders five regions as
 * direct children of .aad-header (CTA, tools, toggle, logo, nav), so one
 * CSS grid places them per breakpoint -- no absolute positioning, offsets,
 * transforms or display:contents for structure.
 *   >=992px  row 1: CTA left / MyA, search, wishlist, bag right
 *            row 2: logo centred (1fr auto 1fr is symmetric, so centring is exact)
 *            row 3: menu centred
 *   <=991px  row 1: CTA strip, centred
 *            row 2: logo centred
 *            row 3: hamburger left / the same four tools right (44px targets)
 *   The mobile header is fixed (Porto mobile_sticky_header=1, locked in
 *   production's config.php); body padding-top equals its height.
 * Everything is scoped to .aad-header, which only the rebuilt type21 branch
 * outputs; the earlier D34-D43 single-row rules were removed, not overridden.
 */
.page-header.type21 {
    background: #fff;
    border-top: 0;
    border-bottom: 1px solid #222;
}
.page-header.type21 .aad-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    grid-template-areas:
        "cta  .    tools"
        "logo logo logo"
        "nav  nav  nav";
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    padding: 0 76px;
}
.page-header.type21 .aad-cta { grid-area: cta; justify-self: start; min-width: 0; }
.page-header.type21 .aad-tools { grid-area: tools; justify-self: end; }
.page-header.type21 .aad-logo { grid-area: logo; justify-self: center; }
.page-header.type21 .aad-nav { grid-area: nav; justify-self: stretch; min-width: 0; }
.page-header.type21 .aad-toggle { grid-area: toggle; display: none; }

/* CTA list (CMS block porto_custom_block_for_header_21) */
.page-header.type21 .aad-cta ul.menu-items-custom {
    display: flex;
    align-items: center;
    gap: 30px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.page-header.type21 .aad-cta ul.menu-items-custom li.menu-item {
    margin: 0;
    padding: 0;
    border: 0;
    white-space: nowrap;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}
.page-header.type21 .aad-cta ul.menu-items-custom a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: #000;
    text-decoration: none;
}

/* tools: MyA, search, wishlist, bag -- each a 44x44 target */
.page-header.type21 .aad-tools {
    display: flex;
    align-items: center;
    gap: 18px;
}
.page-header.type21 .aad-tool {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    color: #000;
}
.page-header.type21 .aad-tool > a,
.page-header.type21 a.aad-tool {
    color: #000;
    text-decoration: none;
}
.page-header.type21 .aad-account img {
    display: block;
    width: auto;
    height: 20px;
}
.page-header.type21 .aad-ico,
.page-header.type21 .aad-ico svg {
    display: block;
}
.page-header.type21 .aad-search .search-toggle-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
}
.page-header.type21 .aad-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    white-space: nowrap;
}

/* search: Porto theme.js toggles .show on the sibling .block-search */
.page-header.type21 .aad-search .block-search {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 100;
    width: 280px;
    margin: 0;
    padding: 10px;
    float: none;
    background: #fff;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .15);
}
.page-header.type21 .aad-search .block-search.show {
    display: block;
}
.page-header.type21 .aad-search .block-search .block-title {
    display: none;
}
.page-header.type21 .aad-search .block-search .control,
.page-header.type21 .aad-search .block-search input {
    display: block;
    position: static;
    width: 100%;
    margin: 0;
    left: auto;
}

/* bag: stock minicart; Porto's drawn box replaced by the original bag icon */
.page-header.type21 .aad-bag .minicart-wrapper {
    position: relative;
    float: none;
    margin: 0;
}
.page-header.type21 .aad-bag .action.showcart {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNyIgaGVpZ2h0PSIxOSIgdmlld0JveD0iMCAwIDE3IDE5Ij48cGF0aCBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Im0gOC40OTQxNDA2LDAgYyAtMi40MzUwOTkyLC03LjE4NDI2MTdlLTQgLTQuNDA1OTU2MywyLjAzODc0NDUgLTQuNDA2MjUsNC41MjUzOTA2IDIuODgxMjI0MSwwLjIzNjI5NDMgNi4xMDkwODg0LDAuMTA2ODg0IDguODEwNTQ0NCwwLjAxOTUzMSBsIDAsLTAuMDE5NTMxIEMgMTIuODk4MTQ0LDIuMDM5NjA5NSAxMC45MjgzOTMsNS4yNTIxMjcyZS00IDguNDk0MTQwNiwwIFogbSAwLDAuOTI5Njg3NSBjIDEuNzY2Mzk2NCwzLjgxMTJlLTQgMy4xNjk3MDU0LDEuMzc3NTAxMiAzLjM4ODY3MTQsMy4xNTQyOTY5IGwgLTYuNzc5Mjk2NCwwIEMgNS4zMjIzNjUyLDIuMzA2MzA1OCA2LjcyNjkxNywwLjkyOTE2NjEyIDguNDk0MTQwNiwwLjkyOTY4NzUgWiBNIDAsNCAwLDQuNTExNzE4OCAwLDE5IDE3LDE5IDE3LDQgMCw0IFogbSAxLjAyNTM5MDYsMS4wMjUzOTA2IDE0Ljk0OTIxODQsMCAwLDEyLjk0OTIxODQgLTE0Ljk0OTIxODQsMCAwLC0xMi45NDkyMTg0IHoiLz48L3N2Zz4=") center / 17px 19px no-repeat;
}
.page-header.type21 .aad-bag .action.showcart:before,
.page-header.type21 .aad-bag .action.showcart:after {
    content: none !important;
    display: none !important;
}
.page-header.type21 .aad-bag .action.showcart .text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}
.page-header.type21 .aad-bag .action.showcart .counter.qty {
    position: absolute;
    top: 4px;
    right: 2px;
    min-width: 16px;
    height: 16px;
    margin: 0;
    padding: 0 3px;
    border-radius: 8px;
    box-sizing: border-box;
    background: #000;
    color: #fff;
    font-size: 10px;
    line-height: 16px;
    text-align: center;
}
.page-header.type21 .aad-bag .action.showcart .counter.qty.empty {
    display: none;
}

/*
 * Porto's own header CSS (type21.css / custom.css, loaded after this file)
 * makes .search-area an absolutely positioned full-width bar on desktop,
 * hides .search-toggle-icon below 992px, and draws the bag as a 29x24
 * bordered box offset -7px on .action.showcart. These neutralise exactly
 * those properties so the tools stay ordinary flex items; !important only
 * where the later-loading theme rule would otherwise win.
 */
.page-header.type21 .aad-tools .aad-search.search-area {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: flex !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}
.page-header.type21 .aad-tools .aad-search .search-toggle-icon {
    display: flex !important;
    position: static !important;
}
.page-header.type21 .aad-tools .aad-bag .minicart-wrapper {
    width: 44px !important;
    height: 44px !important;
    top: auto !important;
    margin: 0 !important;
}
.page-header.type21 .aad-tools .aad-bag a.action.showcart {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
}
.page-header.type21 .aad-tools .aad-bag .minicart-icon {
    display: none !important;
}
.page-header.type21 .aad-tools .aad-search .search-toggle-icon .aad-ico,
.page-header.type21 .aad-tools .aad-search .search-toggle-icon .aad-ico svg {
    display: block !important;
}
.page-header.type21 .aad-tools .aad-bag .block-minicart {
    right: 0 !important;
    left: auto !important;
}

/* logo */
.page-header.type21 .aad-logo .logo {
    display: block;
    float: none;
    position: static;
    margin: 0;
    padding: 0;
    max-width: none;
}
.page-header.type21 .aad-logo .logo img {
    display: block;
    width: 232px;
    max-width: 100%;
    height: auto;
}

@media (min-width: 992px) {
    /* menu row: desktop only -- below 992px the same block is Porto's
       off-canvas drawer and keeps Porto's own drawer styling */
    .page-header.type21 .aad-nav .nav-sections {
        width: 100%;
        margin: 0;
        background: transparent;
    }
    .page-header.type21 .aad-nav .navigation > ul {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        padding: 0 !important;
        text-align: center;
    }
    .page-header.type21 .aad-nav .navigation li.level0 {
        float: none;
        margin: 0;
    }
    .page-header.type21 .aad-nav .navigation li.level0 > a.level-top {
        padding: 0 15px;
        line-height: 42px;
        font-size: 15px;
        font-weight: 400;
        letter-spacing: .05em;
        text-transform: uppercase;
        color: #000;
    }

    /* Reference-screenshot fit (owner's pre-migration header, measured at
       its own scale; approved 2026-10-07): CTA spacing, tool positions and
       sizes, 250px logo, 15.5px menu, drawn SHOP chevron. The logo moves
       into the top band only from 1280px (below), where the CTA and tools
       columns are wide enough not to collide with it. */
    .page-header.type21 .aad-header {
        padding: 0 69px 11px;
    }
    .page-header.type21 .aad-cta {
        padding: 0 0 0 7px;
    }
    .page-header.type21 .aad-logo .logo img {
        width: 250px;
    }
    .page-header.type21 .aad-cta ul.menu-items-custom {
        gap: 0;
    }
    .page-header.type21 .aad-cta ul.menu-items-custom li.menu-item:nth-child(2) {
        margin-left: 36px;
    }
    .page-header.type21 .aad-cta ul.menu-items-custom li.menu-item:nth-child(3) {
        margin-left: 17px;
        letter-spacing: 0;
    }
    .page-header.type21 .aad-tools {
        margin-top: 5px;
    }
    .page-header.type21 .aad-account {
        margin-right: 11px;
    }
    .page-header.type21 .aad-account img {
        height: 22px;
    }
    .page-header.type21 .aad-tools .aad-bag a.action.showcart {
        background-size: 19px 21px;
    }
    .page-header.type21 .aad-nav .navigation li.level0 > a.level-top {
        padding: 0 14.5px;
        font-size: 15.5px;
    }
    /* SHOP's dropdown chevron: Porto draws it as a porto-icons glyph that
       renders blank in this font build (also blank on live today); draw the
       reference's thin chevron instead. */
    .page-header.type21 .aad-nav .navigation li.level0.parent > a.level-top:after {
        content: "" !important;
        display: inline-block;
        width: 10px;
        height: 6px;
        margin-left: 6.5px;
        vertical-align: middle;
        font-family: inherit;
        background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSI2IiB2aWV3Qm94PSIwIDAgMTAgNiI+PHBhdGggZD0iTS41LjUgNSA1IDkuNS41IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS4xIi8+PC9zdmc+") center / 10px 6px no-repeat;
    }

    /* desktop header is not sticky (porto_settings/header/sticky_header=0) */
    html body {
        padding-top: 0 !important;
    }
    .page-header.type21 .aad-header {
        padding-top: 2px;
    }
    .page-header.type21 .aad-toggle,
    .page-header.type21 .nav-toggle {
        display: none !important;
    }
}

@media (min-width: 1280px) {
    /* Approved reference layout: the logo sits in the centre cell of the top
       band, level with the CTA and tools, menu directly beneath. Needs
       >=1232px for the CTA column (~398px) to clear a centred 250px logo;
       992-1279px keeps the logo on its own centred row instead. */
    .page-header.type21 .aad-header {
        grid-template-areas:
            "cta  logo tools"
            "nav  nav  nav";
        align-items: start;
    }
    .page-header.type21 .aad-logo {
        padding-top: 31px;
    }
    .page-header.type21 .aad-nav {
        padding-top: 5px;
    }
}

@media (max-width: 991px) {
    .page-header.type21 .aad-header {
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        grid-template-areas:
            "cta    cta  cta"
            "logo   logo logo"
            "toggle .    tools"
            "nav    nav  nav";
        padding: 0 8px;
        height: 126px;
        grid-template-rows: 36px 46px 44px 0;
    }
    .page-header.type21 .aad-cta {
        justify-self: stretch;
        border-bottom: 1px solid #e5e5e5;
    }
    .page-header.type21 .aad-cta ul.menu-items-custom {
        justify-content: center;
        gap: 14px;
    }
    .page-header.type21 .aad-cta ul.menu-items-custom li.menu-item {
        font-size: 11px;
        letter-spacing: .04em;
    }
    .page-header.type21 .aad-cta ul.menu-items-custom a {
        min-height: 36px;
    }
    .page-header.type21 .aad-tools {
        gap: 2px;
    }
    .page-header.type21 .aad-toggle {
        display: flex !important;
        align-items: center;
        justify-content: center;
        justify-self: start;
        position: static;
        float: none;
        width: 44px;
        height: 44px;
        margin: 0;
        padding: 0;
        cursor: pointer;
    }
    .page-header.type21 .aad-toggle:before {
        font-size: 22px;
        line-height: 1;
        color: #000;
    }
    .page-header.type21 .aad-logo .logo img {
        width: 170px;
    }
    /* D46: the drawer panel (see the D46 section at the end of this file) */
    .page-header.type21 .aad-nav {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        z-index: 1001;
        display: flex;
        flex-direction: column;
        width: 86vw;
        max-width: 360px;
        height: 100%;
        margin: 0;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        background: #fff;
        box-shadow: 2px 0 18px rgba(0, 0, 0, .16);
        visibility: hidden;
        transform: translateX(-100%);
        transition: transform .28s ease, visibility 0s linear .28s;
    }
    html.aad-menu-open .page-header.type21 .aad-nav {
        visibility: visible;
        transform: none;
        transition: transform .28s ease;
    }
    .page-header.type21 .aad-search .block-search {
        position: fixed;
        top: 126px;
        right: 8px;
        left: 8px;
        width: auto;
        box-sizing: border-box;
    }
    /* Porto's mobile search styling fades the input out (opacity:0) and
       widens .control past its box; the panel only opens on request, so
       show the field plainly at full width inside it. */
    .page-header.type21 .aad-search .block-search .control {
        width: 100%;
        margin: 0;
        padding: 0;
        border: 0;
        box-sizing: border-box;
    }
    .page-header.type21 .aad-search .block-search input#search {
        opacity: 1 !important;
        width: 100%;
        height: 40px;
        padding: 0 12px;
        border: 1px solid #ccc;
        box-sizing: border-box;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    /* the tablet header is in normal flow (not sticky, same as live), so the
       123px body offset Porto reserves for its sticky header is dead space */
    html body {
        padding-top: 0 !important;
    }
}

@media (max-width: 767px) {
    /* fixed mobile header (mobile_sticky_header=1): reserve exactly its height */
    html body {
        padding-top: 127px !important;
    }
}

@media (max-width: 359px) {
    .page-header.type21 .aad-cta ul.menu-items-custom {
        gap: 10px;
    }
    .page-header.type21 .aad-cta ul.menu-items-custom li.menu-item {
        font-size: 10.5px;
        letter-spacing: .02em;
    }
    .page-header.type21 .aad-logo .logo img {
        width: 150px;
    }
}

/*
 * D46 (2026-10-07): mobile drawer. Below 992px .aad-nav is an off-canvas panel
 * opened by the plain-JS controller in header.phtml (html.aad-menu-open), not
 * by Porto's RequireJS menu widget, which often never attaches its handler.
 * Porto's own off-canvas positioning of .nav-sections is neutralised inside the
 * panel. SHOP expands inline via Porto's existing .open-children-toggle element
 * and shows Magento's level-1 child categories; the duplicate image carousel
 * from the desktop mega menu is hidden on mobile only. The drawer actions are
 * the same CTA list as the top strip.
 */
@media (min-width: 992px) {
    .page-header.type21 .aad-drawer-head,
    .page-header.type21 .aad-drawer-actions,
    .page-header.type21 .aad-backdrop {
        display: none !important;
    }
}

@media (max-width: 991px) {
    html.aad-menu-open,
    html.aad-menu-open body {
        overflow: hidden;
    }
    html.aad-menu-open .page-header.type21 {
        z-index: 1000;
    }
    .page-header.type21 .aad-backdrop {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1000;
        background: rgba(17, 17, 17, .38);
        opacity: 0;
        visibility: hidden;
        transition: opacity .28s ease, visibility 0s linear .28s;
    }
    html.aad-menu-open .page-header.type21 .aad-backdrop {
        opacity: 1;
        visibility: visible;
        transition: opacity .28s ease;
    }

    /* head: logo + close */
    .page-header.type21 .aad-drawer-head {
        display: flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: space-between;
        min-height: 64px;
        padding: 8px 6px 8px 24px;
        border-bottom: 1px solid #e5e5e5;
        box-sizing: border-box;
    }
    .page-header.type21 .aad-drawer-logo .logo {
        display: block;
        float: none;
        position: static;
        margin: 0;
        padding: 0;
    }
    .page-header.type21 .aad-drawer-logo .logo img {
        display: block;
        width: 140px;
        max-width: 100%;
        height: auto;
    }
    .page-header.type21 .aad-drawer-close {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        margin: 0;
        padding: 0;
        border: 0 !important;
        border-radius: 0;
        background: transparent !important;
        box-shadow: none;
        color: #111 !important;
        font-size: 30px;
        font-weight: 300;
        line-height: 1;
        cursor: pointer;
    }

    /* Porto's off-canvas .nav-sections becomes ordinary content of the panel */
    .page-header.type21 .aad-nav .nav-sections {
        position: static !important;
        top: auto !important;
        left: auto !important;
        flex: 0 0 auto;
        width: auto !important;
        height: auto !important;
        max-width: none;
        margin: 0;
        padding: 0;
        overflow: visible !important;
        background: transparent;
        box-shadow: none;
        transition: none;
        z-index: auto;
    }
    .page-header.type21 .aad-nav .nav-sections-items,
    .page-header.type21 .aad-nav .nav-sections-item-content {
        float: none;
        width: auto;
        margin: 0;
        padding: 0;
    }
    .page-header.type21 .aad-nav .nav-sections-item-title {
        display: none !important;
    }
    .page-header.type21 .aad-nav #store\.menu {
        display: block !important;
    }
    .page-header.type21 .aad-nav .nav-sections-item-content:not(#store\.menu) {
        display: none !important;
    }

    /* top-level rows */
    .page-header.type21 .aad-nav .navigation,
    .page-header.type21 .aad-nav .navigation > ul {
        margin: 0;
        padding: 0;
        background: transparent;
    }
    .page-header.type21 .aad-nav .navigation li.level0 {
        position: relative;
        display: block;
        float: none;
        margin: 0;
        padding: 0;
        border: 0;
        border-bottom: 1px solid #ececec;
    }
    .page-header.type21 .aad-nav .navigation li.level0 > a.level-top {
        display: block;
        padding: 17px 24px;
        border: 0;
        color: #111 !important;
        font-size: 15px;
        font-weight: 400;
        letter-spacing: .12em;
        line-height: 1.3;
        text-align: left;
        text-transform: uppercase;
    }
    .page-header.type21 .aad-nav .navigation li.level0.parent > a.level-top {
        padding-right: 64px;
    }
    .page-header.type21 .aad-nav .navigation li.level0 > a.level-top span,
    .page-header.type21 .aad-nav .submenu li.level1 > a span {
        color: inherit !important;
    }
    .page-header.type21 .aad-nav .navigation li.level0 > a.level-top:after {
        content: none !important;
        display: none !important;
    }

    /* SHOP chevron: Porto's own .open-children-toggle, a 56px tap zone on the row's right */
    .page-header.type21 .aad-nav .navigation li.level0 > .open-children-toggle {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 2;
        display: block;
        width: 56px;
        height: 54px;
        margin: 0;
        padding: 0;
        background: transparent;
        cursor: pointer;
    }
    .page-header.type21 .aad-nav .navigation li.level0 > .open-children-toggle:before {
        content: '';
        position: absolute;
        top: 21px;
        left: 24px;
        width: 8px;
        height: 8px;
        border-right: 1.5px solid #111;
        border-bottom: 1.5px solid #111;
        transform: rotate(45deg);
        transition: transform .2s ease, top .2s ease;
    }
    .page-header.type21 .aad-nav .navigation li.level0.aad-sub-open > .open-children-toggle:before {
        top: 25px;
        transform: rotate(-135deg);
    }
    .page-header.type21 .aad-nav .navigation li.level0 > .open-children-toggle:after {
        content: none;
    }

    /* SHOP children: Magento's level-1 categories as an inline list */
    .page-header.type21 .aad-nav .navigation li.level0 > .submenu {
        position: static !important;
        display: none !important;
        width: auto !important;
        min-width: 0;
        margin: 0;
        padding: 0 0 10px;
        border: 0;
        background: #fafafa;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
    }
    .page-header.type21 .aad-nav .navigation li.level0.aad-sub-open > .submenu {
        display: block !important;
        /* Porto collapses this with height:0 + overflow:hidden for its own animation */
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
    .page-header.type21 .aad-nav .submenu .menu-left-block,
    .page-header.type21 .aad-nav .submenu img {
        display: none !important;
    }
    .page-header.type21 .aad-nav .submenu .container,
    .page-header.type21 .aad-nav .submenu .row,
    .page-header.type21 .aad-nav .submenu .subchildmenu {
        display: block;
        float: none;
        width: auto;
        max-width: none;
        margin: 0;
        padding: 0;
        columns: auto;
        column-count: 1;
    }
    /* 768-991px: the category list carries Bootstrap's col-md-0, which hides it from 768px up */
    .page-header.type21 #aad-nav .submenu .subchildmenu {
        display: block !important;
    }
    .page-header.type21 #aad-nav .submenu li.level1 > a,
    .page-header.type21 #aad-nav .submenu li.level1 > a span {
        color: #333 !important;
        font-size: 13px;
        line-height: 1.35;
    }
    .page-header.type21 .aad-nav .submenu li.level1 {
        display: block;
        float: none;
        text-align: left !important;
        width: auto;
        margin: 0;
        padding: 0;
        border: 0;
    }
    .page-header.type21 .aad-nav .submenu li.level1 > a {
        display: block;
        padding: 11px 24px 11px 36px;
        margin: 0;
        text-align: left !important;
        color: #333 !important;
        font-size: 13px;
        font-weight: 400;
        letter-spacing: .08em;
        line-height: 1.35;
        text-transform: uppercase;
    }
    .page-header.type21 .aad-nav .submenu li.level1 > a:before,
    .page-header.type21 .aad-nav .submenu li.level1 > a:after {
        content: none !important;
    }

    /* bottom actions: Contact / Appointments / phone */
    .page-header.type21 .aad-drawer-actions {
        flex: 0 0 auto;
        margin-top: auto;
        padding: 14px 24px 22px;
        border-top: 1px solid #e5e5e5;
        background: #fff;
    }
    .page-header.type21 .aad-drawer-actions ul.menu-items-custom {
        display: block;
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .page-header.type21 .aad-drawer-actions li.menu-item {
        display: block;
        margin: 0;
        padding: 0;
        border: 0;
    }
    .page-header.type21 .aad-drawer-actions li.menu-item a {
        display: flex;
        align-items: center;
        min-height: 44px;
        color: #111;
        font-size: 13px;
        letter-spacing: .1em;
        text-transform: uppercase;
        text-decoration: none;
    }
    .page-header.type21 .aad-drawer-actions li.menu-item a[href^="tel:"] {
        letter-spacing: .04em;
    }
}
/*
 * D48 (2026-10-08): keep the empty mini-cart panel closed until Magento's
 * dropdown widget has taken it over. When the theme's RequireJS race stops
 * that widget initialising, the raw .block-minicart stays a direct child of
 * .minicart-wrapper and shows as a white strip under the header. Once
 * initialised, the widget moves the block into a .ui-dialog wrapper, so this
 * rule never touches the working dropdown.
 */
.page-header.type21 .aad-bag .minicart-wrapper > .block-minicart {
    display: none !important;
}

/*
 * D47 (2026-10-07): desktop SHOP mega menu. The panel was positioned against
 * the menu list, so it stopped 69px short of each window edge, and Owl's
 * prev/next buttons sat as a small pair below the images. .aad-header becomes
 * the panel's containing block (absolute boxes measure against its padding
 * box, i.e. the full window width) while top:auto keeps the panel directly
 * under the SHOP link, with no hover gap. The arrows are an overlay row
 * centred on the carousel, in side gutters so they never cover an image.
 * Desktop only.
 */
@media (min-width: 992px) {
    .page-header.type21 .aad-header {
        position: relative;
    }
    .page-header.type21 .aad-nav .navigation,
    .page-header.type21 .aad-nav .navigation > ul {
        position: static;
    }
    .page-header.type21 .aad-nav .navigation li.level0.fullwidth > .submenu {
        top: auto;
        left: 0;
        right: 0;
        width: auto;
        max-width: none;
        padding: 18px 0 22px;
        box-sizing: border-box;
    }
    .page-header.type21 .aad-nav .navigation li.level0.fullwidth > .submenu > .container,
    .page-header.type21 .aad-nav .navigation li.level0.fullwidth > .submenu .row,
    .page-header.type21 .aad-nav .navigation li.level0.fullwidth > .submenu .menu-left-block {
        width: auto;
        max-width: none;
        margin: 0;
        padding: 0;
    }
    /* the column is a flex item of .row; without this it grows to the
       carousel's full strip width and pushes the right arrow off-screen */
    .page-header.type21 .aad-nav .navigation li.level0.fullwidth > .submenu .menu-left-block {
        flex: 0 0 100%;
        min-width: 0;
    }
    .page-header.type21 .aad-nav .submenu .our-brands > .container {
        position: relative;
        width: auto;
        max-width: none;
        padding: 0 72px;
    }
    .page-header.type21 .aad-nav .submenu .our-brands .owl-carousel {
        position: static;
    }
    .page-header.type21 .aad-nav .submenu .our-brands .owl-nav {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin: 0;
        padding: 0 12px;
        pointer-events: none;
    }
    .page-header.type21 .aad-nav .submenu .our-brands .owl-nav.disabled {
        display: none;
    }
    .page-header.type21 .aad-nav .submenu .our-brands .owl-nav button.owl-prev,
    .page-header.type21 .aad-nav .submenu .our-brands .owl-nav button.owl-next {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 96px;
        margin: 0;
        padding: 0;
        border: 0 !important;
        border-radius: 0;
        background: transparent !important;
        box-shadow: none;
        color: #a3a3a3;
        font-size: 44px;
        line-height: 1;
        pointer-events: auto;
        cursor: pointer;
        transition: color .2s ease;
    }
    .page-header.type21 .aad-nav .submenu .our-brands .owl-nav button.owl-prev:hover,
    .page-header.type21 .aad-nav .submenu .our-brands .owl-nav button.owl-next:hover {
        color: #6e6e6e;
    }
    .page-header.type21 .aad-nav .submenu .our-brands .owl-nav button.disabled {
        opacity: .35;
        cursor: default;
    }
    /* owner request: no rule under the carousel; titles in capitals with a small gap below each image.
       The CMS block sets border-bottom and padding inline, hence !important. */
    .page-header.type21 .aad-nav .submenu .our-brands {
        border-bottom: 0 !important;
    }
    .page-header.type21 .aad-nav .submenu .our-brands .item > a.level1 {
        display: block;
        margin: 10px 0 0 !important;
        color: #333;
        font-size: 13px;
        letter-spacing: .08em;
        line-height: 1.35;
        text-transform: uppercase;
        white-space: normal !important;
        overflow-wrap: break-word;
    }
    .page-header.type21 .aad-nav .submenu .our-brands .item > a.level1 span {
        white-space: normal !important;
        font-size: inherit;
        letter-spacing: inherit;
    }
    /* thin drawn chevrons instead of Porto's heavy icon glyph */
    .page-header.type21 .aad-nav .submenu .our-brands .owl-nav button em {
        display: none !important;
    }
    .page-header.type21 .aad-nav .submenu .our-brands .owl-nav button.owl-prev,
    .page-header.type21 .aad-nav .submenu .our-brands .owl-nav button.owl-next {
        color: #a3a3a3 !important;
    }
    .page-header.type21 .aad-nav .submenu .our-brands .owl-nav button.owl-prev:hover,
    .page-header.type21 .aad-nav .submenu .our-brands .owl-nav button.owl-next:hover {
        color: #6e6e6e !important;
    }
    .page-header.type21 .aad-nav .submenu .our-brands .owl-nav button.owl-prev:before,
    .page-header.type21 .aad-nav .submenu .our-brands .owl-nav button.owl-next:before {
        content: '';
        display: block;
        width: 22px;
        height: 22px;
        border-top: 1.5px solid currentColor;
        border-left: 1.5px solid currentColor;
        box-sizing: border-box;
    }
    .page-header.type21 .aad-nav .submenu .our-brands .owl-nav button.owl-prev:before {
        margin-left: 10px;
        transform: rotate(-45deg);
    }
    .page-header.type21 .aad-nav .submenu .our-brands .owl-nav button.owl-next:before {
        margin-right: 10px;
        transform: rotate(135deg);
    }
}

/* D47: narrower desktop tiles (992-1279px) - slightly smaller capitals so titles fit, wrapping if needed */
@media (min-width: 992px) and (max-width: 1279px) {
    .page-header.type21 .aad-nav .submenu .our-brands .item > a.level1 {
        font-size: 12px;
        letter-spacing: .05em;
    }
}

/* D49 (CHANGE 050: also every RUNWAY LOOKS page - any category path containing "runway-looks"; CHANGE 059: every page under EXCLUSIVE, e.g. Bridal Looks): shop page grid (owner request 2026-10-08; extended to every collection under SHOP and image-only hover in CHANGE 040) - no sort/show/filter toolbar, no hover card, shadow or bag icon;
   image brightens slightly on hover; product name and price sit closer to the image in normal-weight 15px */
.catalog-category-view:is(.category-shop, [class*="categorypath-shop-"], [class*="runway-looks"], [class*="categorypath-exclusive-"]) .toolbar-products {
    display: none !important;
}
.catalog-category-view:is(.category-shop, [class*="categorypath-shop-"], [class*="runway-looks"], [class*="categorypath-exclusive-"]) .products-grid .product-item-inner {
    display: none !important;
}
.catalog-category-view:is(.category-shop, [class*="categorypath-shop-"], [class*="runway-looks"], [class*="categorypath-exclusive-"]) .products-grid .product-item-photo,
.catalog-category-view:is(.category-shop, [class*="categorypath-shop-"], [class*="runway-looks"], [class*="categorypath-exclusive-"]) .products-grid .product-item:hover .product-item-photo {
    padding: 0 !important;
    margin-bottom: 10px !important;
    box-shadow: none !important;
}
.catalog-category-view:is(.category-shop, [class*="categorypath-shop-"], [class*="runway-looks"], [class*="categorypath-exclusive-"]) .products-grid .product-image-photo {
    transition: filter .3s ease;
}
.catalog-category-view:is(.category-shop, [class*="categorypath-shop-"], [class*="runway-looks"], [class*="categorypath-exclusive-"]) .products-grid .product-item-photo:hover .product-image-photo {
    filter: brightness(1.08);
}
.catalog-category-view:is(.category-shop, [class*="categorypath-shop-"], [class*="runway-looks"], [class*="categorypath-exclusive-"]) .products-grid .product-item-name,
.catalog-category-view:is(.category-shop, [class*="categorypath-shop-"], [class*="runway-looks"], [class*="categorypath-exclusive-"]) .products-grid .product-item-name .product-item-link {
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}
.catalog-category-view:is(.category-shop, [class*="categorypath-shop-"], [class*="runway-looks"], [class*="categorypath-exclusive-"]) .products-grid .price-box {
    margin: 2px 0 0 !important;
}
.catalog-category-view:is(.category-shop, [class*="categorypath-shop-"], [class*="runway-looks"], [class*="categorypath-exclusive-"]) .products-grid .price-box .price {
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    line-height: 1.4 !important;
}
@media (max-width: 991px) {
    .catalog-category-view:is(.category-shop, [class*="categorypath-shop-"], [class*="runway-looks"], [class*="categorypath-exclusive-"]) .products-grid .product-item {
        padding-bottom: 30px !important;
    }
}

/* D50: brand footer (owner request 2026-10-08) - white, no dark band; social icons + boxed newsletter button,
   then CUSTOMER CARE / PRIVACY POLICY / TERMS & CONDITIONS / (c) AADNEVIK in the site's letter-spaced serif.
   Short pages (e.g. the appointment thank-you screen) keep the footer at the bottom of the window. */
body > .page-wrapper {
    min-height: 100vh !important;
    min-height: 100dvh !important;
    display: flex;
    flex-direction: column;
}
.page-wrapper > .page-main,
.page-wrapper > main {
    flex: 1 0 auto;
    width: 100%;
}
.page-wrapper > .page-footer {
    flex-shrink: 0;
    margin-top: auto;
}
.page-footer,
.page-footer .footer.aad-footer {
    background: #fff !important;
    border: 0 !important;
    color: #222;
}
.aad-footer__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 56px 16px 48px;
    border-top: 1px solid #e6e6e6;
    text-align: center;
    font-family: 'Freight-BigLightSC', serif;
}
.aad-footer__top {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 22px 64px;
}
.aad-footer__social {
    display: flex;
    gap: 34px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.aad-footer__social li {
    margin: 0;
}
.aad-footer__social a {
    display: inline-flex;
    color: #3c3c3c;
    transition: color .2s ease, opacity .2s ease;
}
.aad-footer__social a:hover,
.aad-footer__social a:focus-visible {
    color: #000;
}
.page-footer button.aad-footer__subscribe {
    display: inline-block;
    height: auto;
    min-width: 0;
    margin: 0;
    padding: 6px 14px 5px;
    border: 1px solid #3c3c3c;
    border-radius: 0;
    background: transparent;
    color: #222;
    font: 400 15px/1.3 'Freight-BigLightSC', serif;
    line-height: 1.3;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: none;
    transition: background .2s ease, color .2s ease;
}
.page-footer button.aad-footer__subscribe:hover,
.page-footer button.aad-footer__subscribe:focus-visible {
    background: #222;
    color: #fff;
}
.aad-footer__links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 34px;
    margin-top: 30px;
}
.aad-footer__links a {
    color: #222;
    font-size: 15px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none;
}
.aad-footer__links a:hover,
.aad-footer__links a:focus-visible {
    color: #000;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.aad-footer__links .aad-footer__copy {
    letter-spacing: 1px;
}
.modals-wrapper .aad-newsletter-modal .modal-inner-wrap {
    width: 520px !important;
    max-width: calc(100% - 32px) !important;
    border-radius: 0;
}
.aad-newsletter-modal .modal-content,
.aad-newsletter-modal .modal-content * {
    box-sizing: border-box;
}
.aad-newsletter-modal .modal-content {
    max-width: none;
    margin: 0;
    border: 0 !important;
    background: #fff;
    padding: 8px 40px 44px !important;
    text-align: center;
    font-family: 'Freight-BigLightSC', serif;
}
.aad-newsletter__brand {
    margin: 0 0 18px;
    font-size: 28px;
    letter-spacing: 6px;
    text-transform: uppercase;
}
.aad-newsletter__intro {
    margin: 0 0 24px;
    color: #333;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .5px;
    text-transform: uppercase;
}
.aad-newsletter__label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
.aad-newsletter__form input[type="email"] {
    width: 100%;
    height: 42px;
    padding: 0 12px;
    border: 1px solid #bbb;
    border-radius: 0;
    font-size: 16px;
}
.aad-newsletter-modal button.aad-newsletter__submit {
    display: block;
    height: auto;
    width: 100%;
    margin-top: 16px;
    padding: 10px;
    border: 1px solid #222;
    border-radius: 0;
    background: #222;
    color: #fff !important;
    font: 400 15px/1.3 'Freight-BigLightSC', serif;
    line-height: 1.3;
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
}
.aad-newsletter-modal button.aad-newsletter__submit:hover {
    background: #000;
}
@media (max-width: 767px) {
    .aad-footer__inner {
        padding: 40px 16px 32px;
    }
    .aad-footer__top {
        flex-direction: column;
        gap: 22px;
    }
    .page-footer button.aad-footer__subscribe {
        width: 100%;
        max-width: 320px;
    }
    .aad-footer__links {
        gap: 14px 24px;
        margin-top: 26px;
    }
    .aad-footer__links a {
        font-size: 14px;
        letter-spacing: 1.2px;
    }
    .aad-footer__links .aad-footer__copy {
        flex-basis: 100%;
    }
    .aad-newsletter-modal .modal-content {
        padding: 8px 20px 32px !important;
    }
}

/* D51: appointment thank-you screen (quickrfq/index after a booking) - no "QUICK RFQ" title, no green message box;
   the confirmation reads as a centred line in the site's serif. Scoped to this page only. */
.quickrfq-index-index .page-title-wrapper {
    display: none !important;
}
.quickrfq-index-index .page.messages .message {
    margin: 0 auto !important;
    max-width: 760px;
    padding: 90px 16px 40px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #222 !important;
    text-align: center;
    font: 400 21px/1.6 'Freight-BigLightSC', serif !important;
    letter-spacing: .5px;
}
.quickrfq-index-index .page.messages .message > *:first-child:before,
.quickrfq-index-index .page.messages .message:before,
.quickrfq-index-index .page.messages .message:after {
    display: none !important;
    content: none !important;
}
.quickrfq-index-index .page.messages .message > div {
    padding: 0 !important;
}
.quickrfq-index-index .page.messages .message-error {
    color: #7a1c1c !important;
}
@media (max-width: 767px) {
    .quickrfq-index-index .page.messages .message {
        padding: 56px 16px 32px !important;
        font-size: 18px !important;
    }
}

/* D53: footer SUBSCRIBE TO NEWSLETTER hover readability (owner 2026-10-08). A site-wide
   "button:not(.primary) { color:#555 !important; border:1px solid #555 !important }" kept the text grey on the dark hover. */
.page-footer button.aad-footer__subscribe {
    color: #222 !important;
    border-color: #3c3c3c !important;
}
.page-footer button.aad-footer__subscribe:hover,
.page-footer button.aad-footer__subscribe:focus-visible {
    background: #222 !important;
    color: #fff !important;
    border-color: #222 !important;
}

/* D55: home "Shop New Collections" picture beside the Backstage video (owner 2026-10-08: "sometimes loads half").
   The CMS caps it at max-height 531px, which only equals the 16:9 video height at a 1440px-wide window; on wider
   screens the video grows and the picture stops short. On desktop the picture now fills the video's height (cover, top-anchored). */
@media (min-width: 768px) {
    .cms-index-index .home-shop .row > .overcap-1 {
        position: relative;
        max-height: none !important;
        overflow: hidden;
    }
    .cms-index-index .home-shop .row > .overcap-1 > a {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 6px;
        right: 6px;
        display: block;
    }
    .cms-index-index .home-shop .row > .overcap-1 > a > img {
        width: 100%;
        height: 100% !important;
        max-height: none;
        object-fit: cover;
        object-position: center top;
    }
}

/* D56: product page parity with the original Aadnevik PDP (owner reference 2026-10-08):
   centred collection / look / description / price, "SELECT SIZE ... SIZE GUIDE", boxed ADD TO BAG + heart,
   "+ PRODUCT DETAILS / BUYING TERMS / DELIVERY / PAYMENT INFO / CONTACT", order-by-request line, small social icons.
   Hidden: duplicate page title, repeated overview, stock/SKU, qty, compare, share bar, reviews. */
.catalog-product-view .product-info-main .page-title-wrapper.product,
.catalog-product-view .product-info-main .product.attribute.overview,
.catalog-product-view .product-info-main .product-info-stock-sku,
.catalog-product-view .product-info-main .field.qty,
.catalog-product-view .product-info-main .action.tocompare,
.catalog-product-view .product-social-links,
.catalog-product-view .product-info-main #instant-purchase,
.catalog-product-view .product-info-main .product-options-wrapper .field > .label,
.catalog-product-view .product-info-main .product-info-price .price-label {
    display: none !important;
}
.catalog-product-view .product-info-main {
    max-width: 330px;
    color: #222;
}
.catalog-product-view .product_view_category {
    margin: 0 0 22px;
    text-align: center;
}
.catalog-product-view .product_view_category .product_name {
    margin: 0;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #222;
}
.catalog-product-view .product_view_category .product_short {
    display: block;
    margin: 20px 0 0;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 1px;
}
.catalog-product-view .product-info-main .product-info-price {
    margin: 0 0 26px;
    padding: 0;
    border: 0;
    text-align: center;
}
.catalog-product-view .product-info-main .product-info-price .price {
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px;
    color: #222;
}
.catalog-product-view .product-info-main .product-add-form,
.catalog-product-view .product-info-main .product-options-bottom,
.catalog-product-view .product-info-main .box-tocart {
    margin: 0;
    padding: 0;
    border: 0;
}
.catalog-product-view .product-info-main .product-options-wrapper .fieldset,
.catalog-product-view .product-info-main .product-options-wrapper .field {
    margin: 0;
}
.catalog-product-view .product-info-main .product-options-wrapper .row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 14px;
}
.catalog-product-view .product-info-main .product-options-wrapper .row > [class*="col-"] {
    flex: 0 1 auto;
    width: auto;
    max-width: none;
    padding: 0;
}
.catalog-product-view .product-info-main .product-options-wrapper select.product-custom-option {
    height: auto;
    min-width: 0;
    padding: 4px 18px 4px 0;
    border: 0 !important;
    background-position: right center;
    box-shadow: none;
    font-size: 13px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #222;
}
.catalog-product-view .product-info-main .aadnevik-size-guide a,
.catalog-product-view .product-info-main .aadnevik-size-guide a#click-me {
    white-space: nowrap;
    font-size: 11px !important;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #222;
}
.catalog-product-view .product-info-main .box-tocart .fieldset {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 0;
}
.catalog-product-view .product-info-main .box-tocart .actions {
    margin: 0;
    padding: 0;
}
.catalog-product-view .product-info-main button#product-addtocart-button {
    width: auto;
    min-width: 0;
    height: auto;
    margin: 0;
    padding: 6px 16px 5px;
    border: 1px solid #3c3c3c !important;
    border-radius: 0;
    background: transparent;
    color: #222 !important;
    font-size: 16px;
    line-height: 1.3;
    letter-spacing: 2px;
    text-transform: uppercase;
    box-shadow: none;
}
.catalog-product-view .product-info-main button#product-addtocart-button:hover {
    background: #222;
    color: #fff !important;
}
.catalog-product-view .product-info-main .moved-add-to-links,
.catalog-product-view .product-info-main .product-addto-links {
    margin: 0;
}
.catalog-product-view .product-info-main .action.towishlist {
    width: auto;
    height: auto;
    border: 0 !important;
    background: transparent;
    box-shadow: none;
}
.catalog-product-view .product-info-main .product.info.detailed {
    margin: 0;
    padding: 0;
    border: 0;
}
.aad-pdp-info {
    margin: 26px 0 0;
    text-align: left;
}
.aad-pdp-accordion__item {
    margin: 0;
}
.aad-pdp-accordion__title a {
    display: inline-block;
    padding: 3px 0;
    color: #222;
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none;
}
.aad-pdp-accordion__sign:before {
    content: '+';
    display: inline-block;
    width: 12px;
}
.aad-pdp-accordion__title.is-open .aad-pdp-accordion__sign:before {
    content: '\2013';
}
.aad-pdp-accordion__content {
    padding: 6px 0 12px 12px;
    color: #333;
    font-size: 13px;
    line-height: 1.6;
}
.aad-pdp-accordion__content p {
    margin: 0 0 8px;
}
.aad-pdp-accordion__item:nth-child(4) {
    margin-bottom: 16px;
}
.aad-pdp-request {
    margin: 20px 0 0;
    color: #222;
    font-size: 12px;
    line-height: 1.7;
    letter-spacing: 1px;
}
.aad-pdp-request a {
    color: inherit;
}
.aad-pdp-social {
    display: flex;
    gap: 24px;
    margin: 34px 0 0;
    padding: 0;
    list-style: none;
}
.aad-pdp-social li {
    margin: 0;
}
.aad-pdp-social a {
    display: inline-flex;
    color: #3c3c3c;
}
.aad-pdp-social a:hover {
    color: #000;
}
/* "You may also like" (admin-managed up-sells) */
.catalog-product-view .block.upsell .block-title,
.catalog-product-view .block.upsell .title {
    text-align: center;
}
.catalog-product-view .block.upsell .block-title strong {
    font-size: 17px;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.catalog-product-view .block.upsell .product-item-name,
.catalog-product-view .block.upsell .product-item-link {
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 1px;
}
.catalog-product-view .block.upsell .price {
    font-size: 15px !important;
    font-weight: 400 !important;
}
/* Product reviews are not offered on the site (owner decision 2026-10-08) */
.product-reviews-summary,
.reviews-actions,
.block.review-add,
#product-review-container,
.catalog-product-view .review-form {
    display: none !important;
}
@media (max-width: 991px) {
    .catalog-product-view .product-info-main {
        max-width: none;
        margin: 24px auto 0;
        padding: 0 16px;
    }
}

.catalog-product-view .block.upsell.aad-upsell-full {
    clear: both;
    width: 100%;
    margin: 60px 0 0;
}
.catalog-product-view .product-info-main .product.info.detailed.aad-pdp-info {
    margin: 30px 0 0;
}

/* D57: PDP follow-up (owner reference 2026-10-08): SELECT SIZE and SIZE GUIDE stay on one line; "You may also like"
   titled and laid out like the original (centred title between rules, 4 looks across, name + price only, no buttons). */
.catalog-product-view .product-info-main .product-options-wrapper .fieldset > .row {
    flex-wrap: nowrap;
    gap: 16px;
}
.catalog-product-view .product-info-main .product-options-wrapper .fieldset > .row > [class*="col-"]:first-child {
    flex: 1 1 auto;
    min-width: 0;
}
.catalog-product-view .product-info-main .product-options-wrapper select.product-custom-option {
    width: 100%;
    max-width: 230px;
}
.catalog-product-view .block.upsell .section-title {
    display: flex;
    align-items: center;
    gap: 28px;
    margin: 0 0 34px;
    padding: 0;
    border: 0 !important;
}
.catalog-product-view .block.upsell .section-title:before,
.catalog-product-view .block.upsell .section-title:after {
    content: '';
    flex: 1 1 0;
    height: 1px;
    background: #222;
}
.catalog-product-view .block.upsell .section-title strong {
    font-size: 0 !important;
    line-height: 0;
    white-space: nowrap;
}
.catalog-product-view .block.upsell .section-title strong:after {
    content: 'You may also like';
    font-size: 17px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #222;
}
.catalog-product-view .block.upsell .product-item-actions,
.catalog-product-view .block.upsell .actions-primary,
.catalog-product-view .block.upsell button.tocart,
.catalog-product-view .block.upsell .owl-nav,
.catalog-product-view .block.upsell .owl-dots,
.catalog-product-view .block.upsell .owl-item.cloned {
    display: none !important;
}
.catalog-product-view .block.upsell .owl-stage {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    width: auto !important;
    transform: none !important;
}
.catalog-product-view .block.upsell .owl-item {
    width: auto !important;
    margin: 0 !important;
}
.catalog-product-view .block.upsell .product-item-details {
    text-align: center;
}
@media (max-width: 767px) {
    .catalog-product-view .block.upsell .owl-stage {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* D58: PDP typography consistency (owner 2026-10-08): short description 15px normal (owner's DevTools value);
   every opened section (Product Details, Buying Terms, Delivery, Payment Info, Contact) uses the same size, spacing and
   left edge - no Porto panel padding / list indent; titles never underline. */
.catalog-product-view .product_view_category .product_short {
    margin: 20px 0 0;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 1px;
}
.aad-pdp-accordion__title a,
.aad-pdp-accordion__title a:hover,
.aad-pdp-accordion__title a:focus,
.aad-pdp-accordion__title a:active,
.aad-pdp-accordion__title.is-open a {
    text-decoration: none !important;
    color: #222 !important;
    outline: none;
}
.aad-pdp-accordion__content,
.aad-pdp-accordion__content p,
.aad-pdp-accordion__content li,
.aad-pdp-accordion__content div,
.aad-pdp-accordion__content span {
    font-size: 14px !important;
    font-weight: 400;
    line-height: 1.6 !important;
    letter-spacing: .3px !important;
    color: #333;
}
.aad-pdp-accordion__content {
    padding: 8px 0 14px 12px !important;
}
.aad-pdp-accordion__content .product.attribute.description,
.aad-pdp-accordion__content .value,
.aad-pdp-accordion__content .panel-body {
    margin: 0 !important;
    padding: 0 !important;
}
.aad-pdp-accordion__content ul,
.aad-pdp-accordion__content ol {
    line-height: 1.6 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}
.aad-pdp-accordion__content li,
.aad-pdp-accordion__content p {
    margin: 0 0 8px !important;
    padding: 0 !important;
}
.aad-pdp-accordion__content li:last-child,
.aad-pdp-accordion__content p:last-child {
    margin-bottom: 0 !important;
}
/* collection + look name (owner's DevTools values 2026-10-08) */
.catalog-product-view .product_view_category .product_name {
    margin: 0;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #222;
}
/* section titles a little bolder; section text smaller and lighter (owner 2026-10-08) */
.aad-pdp-accordion__title a,
.aad-pdp-accordion__title a:hover,
.aad-pdp-accordion__title a:focus,
.aad-pdp-accordion__title.is-open a {
    font-weight: 400 !important;
    color: #222 !important;
    -webkit-text-stroke: .35px #222;
}
.aad-pdp-accordion__content,
.aad-pdp-accordion__content p,
.aad-pdp-accordion__content li,
.aad-pdp-accordion__content div,
.aad-pdp-accordion__content span {
    font-size: 13px !important;
    line-height: 1.7 !important;
    letter-spacing: .4px !important;
    color: #555 !important;
}

/* D59: Celebrity and Couture pages (owner 2026-10-08; Couture "exact same changes" added in CHANGE 036): full-width hero; no sort/show strip; name only (no £0 price);
   "Make an Enquiry" on the bottom of the image, on hover (always visible on touch screens); no hover card/shadow;
   enquiry pop-up restyled to the brand (fields, names and submission unchanged). */
:is(.category-celebrity, .category-couture) .category-cms .top-outer,
:is(.category-celebrity, .category-couture) .category-cms .top-outer .container,
:is(.category-celebrity, .category-couture) .category-cms .top-outer .row,
:is(.category-celebrity, .category-couture) .category-cms .top-outer .group,
:is(.category-celebrity, .category-couture) .category-cms .top-outer .summer-top {
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
:is(.category-celebrity, .category-couture) .category-cms .top-outer .row > .group,
:is(.category-celebrity, .category-couture) .category-cms .top-outer .group > .summer-top {
    flex: 1 1 100% !important;
    width: 100% !important;
}
:is(.category-celebrity, .category-couture) .category-cms .top-outer .summer-top img {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
}
:is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .toolbar-products,
:is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .products-grid .price-box,
:is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .products-grid .product-item-inner,
:is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .products-grid .product-reviews-summary {
    display: none !important;
}
:is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .products-grid .product-item-photo,
:is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .products-grid .product-item:hover .product-item-photo {
    padding: 0 !important;
    margin-bottom: 10px !important;
    box-shadow: none !important;
}
:is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .products-grid .product-image-photo {
    transition: filter .3s ease;
}
:is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .products-grid .product-item-photo:hover .product-image-photo {
    filter: brightness(1.08);
}
:is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .products-grid .product-item-name,
:is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .products-grid .product-item-name .product-item-link {
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    letter-spacing: 1px !important;
}
:is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .products-grid button.quickrfq-trigger {
    position: absolute;
    left: 50%;
    right: auto;
    bottom: 22px;
    z-index: 5;
    display: block;
    width: auto;
    height: auto;
    min-width: 0;
    margin: 0;
    padding: 9px 24px 8px;
    transform: translateX(-50%);
    border: 1px solid #222 !important;
    border-radius: 0;
    background: rgba(255, 255, 255, .94);
    color: #222 !important;
    font-size: 12px;
    line-height: 1.3;
    letter-spacing: 2px;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, visibility .25s ease, background .2s ease, color .2s ease;
}
:is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .products-grid .product-item-info:hover button.quickrfq-trigger,
:is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .products-grid .product-item-info:focus-within button.quickrfq-trigger {
    opacity: 1;
    visibility: visible;
}
:is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .products-grid button.quickrfq-trigger:hover,
:is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .products-grid button.quickrfq-trigger:focus-visible {
    background: #222;
    color: #fff !important;
    border-color: #222 !important;
}
@media (hover: none), (max-width: 991px) {
    :is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .products-grid button.quickrfq-trigger {
        bottom: 12px;
        padding: 7px 14px 6px;
        font-size: 11px;
        letter-spacing: 1.5px;
    }
}
/* enquiry pop-up */
.modal-popup:has(#quickrfq-enquiry-modal) .modal-inner-wrap {
    width: 560px !important;
    max-width: calc(100% - 32px) !important;
    border-radius: 0;
    box-shadow: 0 10px 40px rgba(0, 0, 0, .18);
}
.modal-popup:has(#quickrfq-enquiry-modal) .modal-header {
    padding: 34px 44px 6px !important;
    border: 0;
    text-align: center;
}
.modal-popup:has(#quickrfq-enquiry-modal) .modal-title {
    padding: 0 !important;
    border: 0 !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #222;
}
.modal-popup:has(#quickrfq-enquiry-modal) .modal-inner-wrap {
    position: relative;
}
.modal-popup:has(#quickrfq-enquiry-modal) .action-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    left: auto !important;
    margin: 0 !important;
}
.modal-popup:has(#quickrfq-enquiry-modal) .modal-content,
#quickrfq-enquiry-modal {
    background: #fff !important;
}
.modal-popup:has(#quickrfq-enquiry-modal) .modal-content {
    padding: 0 44px 40px !important;
    border: 0 !important;
}
#quickrfq-enquiry-modal .quickrfq-enquiry-look {
    margin: 0 0 26px;
    text-align: center;
    color: #777;
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
}
#quickrfq-enquiry-modal .fieldset {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 24px;
    margin: 0;
    padding: 0;
    border: 0;
}
#quickrfq-enquiry-modal .fieldset > .field,
#quickrfq-enquiry-modal .fieldset > .actions-toolbar {
    grid-column: 1 / -1;
    margin: 0 !important;
}
#quickrfq-enquiry-modal .fieldset > .field:has(#quickrfq-first-name),
#quickrfq-enquiry-modal .fieldset > .field:has(#quickrfq-last-name) {
    grid-column: auto;
}
#quickrfq-enquiry-modal .fieldset > .field.quickrfq-hp {
    grid-column: auto;
}
#quickrfq-enquiry-modal .field > .label {
    display: block;
    margin: 0 0 4px;
    padding: 0;
    color: #555;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
#quickrfq-enquiry-modal .field.required > .label:after {
    content: '';
}
#quickrfq-enquiry-modal input.input-text,
#quickrfq-enquiry-modal select,
#quickrfq-enquiry-modal textarea {
    width: 100%;
    height: 38px !important;
    padding: 0 2px !important;
    border: 0 !important;
    border-bottom: 1px solid #bbb !important;
    border-radius: 0;
    background-color: transparent;
    box-shadow: none !important;
    color: #222 !important;
    font-family: inherit !important;
    font-size: 15px;
}
#quickrfq-enquiry-modal textarea {
    height: 96px !important;
    padding-top: 8px !important;
    resize: vertical;
}
#quickrfq-enquiry-modal input.input-text:focus,
#quickrfq-enquiry-modal select:focus,
#quickrfq-enquiry-modal textarea:focus {
    border-bottom-color: #222 !important;
}
#quickrfq-enquiry-modal .quickrfq-phone-control {
    display: flex;
    gap: 14px;
}
#quickrfq-enquiry-modal .quickrfq-phone-control select {
    flex: 0 0 42%;
}
#quickrfq-enquiry-modal .g-recaptcha {
    display: flex;
    justify-content: center;
}
#quickrfq-enquiry-modal .actions-toolbar {
    margin-top: 6px !important;
}
#quickrfq-enquiry-modal button.quickrfq-submit {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 13px 20px 12px;
    border: 1px solid #222 !important;
    border-radius: 0;
    background: #222;
    color: #fff !important;
    font-size: 13px;
    line-height: 1.3;
    letter-spacing: 3px;
    text-transform: uppercase;
    box-shadow: none;
}
#quickrfq-enquiry-modal button.quickrfq-submit:hover {
    background: #000;
}
#quickrfq-enquiry-modal div.mage-error {
    margin-top: 4px;
    font-size: 11px;
}
@media (max-width: 767px) {
    .modal-popup:has(#quickrfq-enquiry-modal) .modal-header {
        padding: 26px 20px 4px !important;
    }
    .modal-popup:has(#quickrfq-enquiry-modal) .modal-content {
        padding: 0 20px 28px !important;
    }
    #quickrfq-enquiry-modal .fieldset > .field:has(#quickrfq-first-name),
    #quickrfq-enquiry-modal .fieldset > .field:has(#quickrfq-last-name) {
        grid-column: 1 / -1;
    }
}
/* enquiry confirmation on the celebrity pages reads like the appointment thank-you line */
:is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .page.messages .message {
    margin: 0 auto 20px !important;
    max-width: 760px;
    padding: 20px 16px !important;
    border: 0 !important;
    background: transparent !important;
    color: #222 !important;
    text-align: center;
    font-size: 17px !important;
}
:is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .page.messages .message > *:first-child:before,
:is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .page.messages .message:before {
    display: none !important;
    content: none !important;
}
@media (max-width: 991px) {
    :is(body[class*="categorypath-celebrity"], body[class*="categorypath-couture"]) .products-grid .product-item {
        padding-top: 6px !important;
        padding-bottom: 20px !important;
    }
}

/* D60: bag panel + store messages (owner 2026-10-08).
   After "Add to Bag" Magento wraps the mini-cart in a jQuery-UI dialog the width of the bag icon (44px), so the content
   spilled off-screen. The open panel is now a 380px card under the bag icon: header, large portrait thumbnail, name, size,
   price, Remove, subtotal, CHECKOUT, VIEW BAG. D48 (closed panel hidden) is unchanged. */
.page-header .minicart-wrapper .ui-dialog {
    position: absolute !important;
    top: calc(100% + 14px) !important;
    right: -10px !important;
    left: auto !important;
    z-index: 1000;
    width: 380px !important;
    max-width: calc(100vw - 24px);
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #e6e6e6;
    background: #fff;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .14);
}
.page-header .minicart-wrapper .ui-dialog .block-minicart {
    position: static !important;
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 26px 26px 22px !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    text-align: left;
    color: #222;
}
.page-header .minicart-wrapper .ui-dialog .block-minicart:before,
.page-header .minicart-wrapper .ui-dialog .block-minicart:after {
    display: none !important;
}
.page-header .minicart-wrapper .block-minicart .block-title {
    display: block !important;
    margin: 0 0 18px;
    padding: 0 0 14px;
    border-bottom: 1px solid #eee;
    text-align: center;
}
.page-header .minicart-wrapper .block-minicart .block-title strong,
.page-header .minicart-wrapper .block-minicart .block-title .text {
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #222;
}
.page-header .minicart-wrapper .block-minicart .block-title .qty {
    display: inline !important;
    margin-left: 4px;
    font-size: 13px;
    color: #777;
    background: none !important;
}
.page-header .minicart-wrapper .block-minicart .block-title .qty:before { content: '('; }
.page-header .minicart-wrapper .block-minicart .block-title .qty:after { content: ')'; }
.page-header .minicart-wrapper .block-minicart .block-title .qty.empty { display: none !important; }
.page-header .minicart-wrapper .block-minicart #btn-minicart-close {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    left: auto !important;
    width: 22px !important;
    height: 22px !important;
    margin: 0;
    padding: 0;
    border: 0 !important;
    background: none !important;
    box-shadow: none;
    line-height: 22px;
    color: #555;
}
.page-header .minicart-wrapper .block-minicart .block-content {
    display: flex;
    flex-direction: column;
}
.page-header .minicart-wrapper .block-minicart .block-content > .subtitle,
.page-header .minicart-wrapper .block-minicart .block-content > .actions:has(#paypal-braintree-mini-cart-paylater-container-message),
.page-header .minicart-wrapper .block-minicart .total-count .items-total,
.page-header .minicart-wrapper .block-minicart .product.options .toggle,
.page-header .minicart-wrapper .block-minicart .product.options .subtitle,
.page-header .minicart-wrapper .block-minicart .details-qty,
.page-header .minicart-wrapper .block-minicart .action.edit {
    display: none !important;
}
.page-header .minicart-wrapper .block-minicart .minicart-items-wrapper { order: 1; }
.page-header .minicart-wrapper .block-minicart .subtotal { order: 2; }
.page-header .minicart-wrapper .block-minicart .block-content > .actions:has(#top-cart-btn-checkout) { order: 3; }
.page-header .minicart-wrapper .block-minicart .total-count { order: 4; }
.page-header .minicart-wrapper .block-minicart .minicart-widgets { order: 5; }
.page-header .minicart-wrapper .block-minicart .minicart-items-wrapper {
    height: auto !important;
    max-height: 330px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow-y: auto;
}
.page-header .minicart-wrapper .block-minicart .minicart-items {
    margin: 0 !important;
    padding: 0 !important;
}
.page-header .minicart-wrapper .block-minicart .minicart-items .product-item {
    margin: 0 0 16px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid #f0f0f0;
}
.page-header .minicart-wrapper .block-minicart .minicart-items .product-item:last-child {
    margin-bottom: 0 !important;
    border-bottom: 0;
}
.page-header .minicart-wrapper .block-minicart .minicart-items .product-item > .product {
    display: flex;
    gap: 18px;
    align-items: flex-start;
}
.page-header .minicart-wrapper .block-minicart .product-item-photo {
    flex: 0 0 96px;
    float: none !important;
    width: 96px;
}
.page-header .minicart-wrapper .block-minicart .product-image-container {
    width: 96px !important;
}
.page-header .minicart-wrapper .block-minicart .product-image-wrapper {
    position: relative;
    display: block;
    height: 0;
    padding-bottom: 150% !important;
    overflow: hidden;
}
.page-header .minicart-wrapper .block-minicart .product-image-wrapper img.product-image-photo {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover;
}
.page-header .minicart-wrapper .block-minicart .product-item-details {
    flex: 1 1 auto;
    min-width: 0;
    padding: 2px 0 0 !important;
    text-align: left;
}
.page-header .minicart-wrapper .block-minicart .product-item-name,
.page-header .minicart-wrapper .block-minicart .product-item-name a {
    display: block;
    margin: 0 0 6px;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #222 !important;
}
.page-header .minicart-wrapper .block-minicart .product.options .content {
    display: block !important;
    margin: 0 0 8px;
}
.page-header .minicart-wrapper .block-minicart .product.options.list {
    margin: 0;
    font-size: 12px;
    letter-spacing: .5px;
    color: #777;
}
.page-header .minicart-wrapper .block-minicart .product.options.list dt,
.page-header .minicart-wrapper .block-minicart .product.options.list dd {
    display: inline;
    margin: 0;
    font-weight: 400;
}
.page-header .minicart-wrapper .block-minicart .product.options.list dt:after { content: ': '; }
.page-header .minicart-wrapper .block-minicart .product-item-pricing .price {
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: 1px;
    color: #222;
}
.page-header .minicart-wrapper .block-minicart .product.actions {
    float: none !important;
    margin: 10px 0 0 !important;
}
.page-header .minicart-wrapper .block-minicart .action.delete {
    width: auto !important;
    height: auto !important;
    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 3px;
    color: #777 !important;
}
.page-header .minicart-wrapper .block-minicart .action.delete:before {
    display: none !important;
}
.page-header .minicart-wrapper .block-minicart .action.delete > span {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
}
.page-header .minicart-wrapper .block-minicart .subtotal {
    display: flex !important;
    justify-content: space-between;
    align-items: baseline;
    margin: 18px 0 16px !important;
    padding: 16px 0 0 !important;
    border-top: 1px solid #eee;
    text-align: left;
}
.page-header .minicart-wrapper .block-minicart .subtotal .label {
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #555;
}
.page-header .minicart-wrapper .block-minicart .subtotal .label:after { content: '' !important; }
.page-header .minicart-wrapper .block-minicart .subtotal .price {
    font-size: 16px !important;
    font-weight: 400 !important;
    letter-spacing: 1px;
    color: #222;
}
.page-header .minicart-wrapper .block-minicart .block-content > .actions {
    margin: 0 !important;
}
.page-header .minicart-wrapper .block-minicart button#top-cart-btn-checkout {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 13px 16px 12px;
    border: 1px solid #222 !important;
    border-radius: 0;
    background: #222 !important;
    color: #fff !important;
    font-size: 13px;
    line-height: 1.3;
    letter-spacing: 3px;
    text-transform: uppercase;
    box-shadow: none;
}
.page-header .minicart-wrapper .block-minicart button#top-cart-btn-checkout:hover {
    background: #000 !important;
}
.page-header .minicart-wrapper .block-minicart .total-count {
    display: block !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
.page-header .minicart-wrapper .block-minicart .total-count .actions,
.page-header .minicart-wrapper .block-minicart .total-count .secondary {
    display: block;
    width: 100%;
    margin: 0;
    float: none;
}
.page-header .minicart-wrapper .block-minicart a.action.viewcart {
    display: block;
    width: 100%;
    padding: 12px 16px 11px;
    border: 1px solid #222;
    background: #fff;
    color: #222 !important;
    font-size: 13px;
    letter-spacing: 3px;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none !important;
}
.page-header .minicart-wrapper .block-minicart a.action.viewcart:after { content: none !important; }
.page-header .minicart-wrapper .block-minicart a.action.viewcart span { font-size: 0; }
.page-header .minicart-wrapper .block-minicart a.action.viewcart span:after {
    content: 'View Bag';
    font-size: 13px;
}
.page-header .minicart-wrapper .block-minicart a.action.viewcart:hover {
    background: #222;
    color: #fff !important;
}
.page-header .minicart-wrapper .block-minicart .subtitle.empty {
    display: block;
    padding: 10px 0 6px;
    text-align: center;
    font-size: 14px !important;
    letter-spacing: .5px;
    color: #555;
}

/* Store messages ("You added ... to your shopping cart", etc.): a quiet centred line instead of the green strip */
.page.messages .message {
    margin: 0 auto 18px !important;
    padding: 14px 18px !important;
    border: 0 !important;
    border-top: 1px solid #e6e6e6 !important;
    border-bottom: 1px solid #e6e6e6 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #222 !important;
    text-align: center;
    font-size: 14px !important;
    letter-spacing: .5px;
}
.page.messages .message > *:first-child:before,
.page.messages .message:before {
    display: none !important;
    content: none !important;
}
.page.messages .message > div {
    padding: 0 !important;
}
.page.messages .message a {
    color: #222 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.page.messages .message-error,
.page.messages .message.error {
    color: #7a1c1c !important;
}
/* bag panel polish */
.page-header .minicart-wrapper .block-minicart,
.page-header .minicart-wrapper .block-minicart * {
    box-sizing: border-box;
}
.page-header .minicart-wrapper .block-minicart .minicart-items-wrapper {
    overflow-x: hidden !important;
}
.page-header .minicart-wrapper .block-minicart .product.actions {
    position: static !important;
    width: auto !important;
    text-align: left;
}
.page-header .minicart-wrapper .block-minicart .product.actions .primary,
.page-header .minicart-wrapper .block-minicart .product.actions .secondary {
    position: static !important;
    float: none !important;
    display: block;
    width: auto !important;
}
.page-header .minicart-wrapper .block-minicart .action.delete {
    display: inline-block !important;
    position: static !important;
    overflow: visible !important;
    white-space: nowrap;
}
.page-header .minicart-wrapper .block-minicart .block-title .text {
    font-size: 0 !important;
}
.page-header .minicart-wrapper .block-minicart .block-title .text:after {
    content: 'Your Bag';
    font-size: 13px;
    letter-spacing: 2.5px;
}
.page-header .minicart-wrapper .block-minicart .block-title .qty {
    letter-spacing: 0;
}
.page-header .minicart-wrapper .block-minicart .product.options.list dt {
    font-weight: 400 !important;
}
.page-header .minicart-wrapper .block-minicart .action.delete {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    line-height: 1.4 !important;
}
.page-header .minicart-wrapper .block-minicart .product.options.list dt,
.page-header .minicart-wrapper .block-minicart .product.options.list dt * {
    font-weight: 400 !important;
    color: #777;
}
/* bag count badge: black instead of Porto orange-red (owner 2026-10-08) */
.page-header .minicart-wrapper .action.showcart .counter.qty {
    background: #222 !important;
    color: #fff !important;
}
.page-header .minicart-wrapper .action.showcart .counter.qty .counter-number {
    color: #fff !important;
}
@media (min-width: 992px) {
    .page-header .aad-bag .minicart-wrapper .action.showcart .counter.qty {
        top: 2px !important;
        right: -6px !important;
        margin: 0 !important;
        transform: none !important;
    }
}

/* D61: Your Bag (cart page) redesign (owner 2026-10-08): two columns - items left, soft order-summary card right;
   large portrait thumbnails; letter-spaced labels; minimal quantity control; text links instead of icons. Layout/CSS only. */
.checkout-cart-index .page-title-wrapper {
    margin: 10px 0 38px;
    text-align: center;
}
.checkout-cart-index .page-title-wrapper .page-title .base {
    font-size: 0 !important;
}
.checkout-cart-index .page-title-wrapper .page-title .base:after {
    content: 'Your Bag';
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: #222;
}
@media (min-width: 992px) {
    .checkout-cart-index .cart-container {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 370px;
        column-gap: 60px;
        align-items: start;
    }
    .checkout-cart-index .cart-container:before,
    .checkout-cart-index .cart-container:after {
        display: none !important;
    }
    .checkout-cart-index .cart-container > .form-cart,
    .checkout-cart-index .cart-container > .cart-discount,
    .checkout-cart-index .cart-container > #gift-options-cart {
        grid-column: 1;
        float: none !important;
        width: auto !important;
    }
    .checkout-cart-index .cart-container > .cart-summary {
        grid-column: 2;
        grid-row: 1 / span 3;
        position: sticky;
        top: 150px;
        float: none !important;
        width: auto !important;
    }
}
.checkout-cart-index .form-cart,
.checkout-cart-index .cart.table-wrapper {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}
.checkout-cart-index #shopping-cart-table {
    width: 100%;
    margin: 0;
    border: 0 !important;
}
.checkout-cart-index #shopping-cart-table thead th {
    padding: 0 0 14px !important;
    border: 0 !important;
    border-bottom: 1px solid #e6e6e6 !important;
    color: #777 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.checkout-cart-index #shopping-cart-table tbody.cart.item {
    border: 0 !important;
    border-bottom: 1px solid #eee !important;
}
.checkout-cart-index #shopping-cart-table td {
    border: 0 !important;
    vertical-align: middle;
}
.checkout-cart-index #shopping-cart-table .item-info td {
    padding: 28px 0 8px !important;
}
.checkout-cart-index #shopping-cart-table .col.item {
    display: table-cell;
}
.checkout-cart-index #shopping-cart-table .col.item .product-item-photo {
    display: table-cell;
    width: 120px;
    max-width: 120px;
    padding-right: 26px;
    vertical-align: middle;
}
.checkout-cart-index #shopping-cart-table .product-image-container {
    width: 120px !important;
}
.checkout-cart-index #shopping-cart-table .product-image-wrapper {
    position: relative;
    display: block;
    height: 0;
    padding-bottom: 150% !important;
    overflow: hidden;
}
.checkout-cart-index #shopping-cart-table .product-image-wrapper img.product-image-photo {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover;
}
.checkout-cart-index #shopping-cart-table .product-item-details {
    display: table-cell;
    vertical-align: middle;
}
.checkout-cart-index #shopping-cart-table .product-item-name,
.checkout-cart-index #shopping-cart-table .product-item-name a {
    display: block;
    margin: 0 0 8px;
    color: #222 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
.checkout-cart-index #shopping-cart-table .item-options {
    margin: 0;
    color: #777;
    font-size: 12px;
    letter-spacing: .5px;
}
.checkout-cart-index #shopping-cart-table .item-options dt,
.checkout-cart-index #shopping-cart-table .item-options dd {
    display: inline;
    margin: 0;
    font-weight: 400 !important;
}
.checkout-cart-index #shopping-cart-table .item-options dt:after {
    content: ': ';
}
.checkout-cart-index #shopping-cart-table .price {
    color: #222;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: 1px;
}
.checkout-cart-index #shopping-cart-table .control.qty {
    display: inline-flex;
    align-items: center;
    border: 1px solid #ddd;
}
.checkout-cart-index #shopping-cart-table input.qty {
    width: 40px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent;
    text-align: center;
    font-size: 13px;
}
.checkout-cart-index #shopping-cart-table .qty-changer {
    display: contents;
}
.checkout-cart-index #shopping-cart-table .qty-changer a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px !important;
    height: 34px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #555 !important;
}
.checkout-cart-index #shopping-cart-table .qty-changer a.qty-dec {
    order: -1;
}
.checkout-cart-index #shopping-cart-table .item-actions td {
    padding: 0 0 22px !important;
}
.checkout-cart-index #shopping-cart-table .item-actions .actions-toolbar {
    display: flex;
    justify-content: flex-end;
    gap: 22px;
    margin: 0;
    padding: 0;
}
.checkout-cart-index #shopping-cart-table .item-actions .action {
    position: static !important;
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: #777 !important;
    font-size: 11px !important;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.checkout-cart-index #shopping-cart-table .item-actions .action:before,
.checkout-cart-index #shopping-cart-table .item-actions .action:after {
    display: none !important;
}
.checkout-cart-index #shopping-cart-table .item-actions .action > span {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    font-size: 11px !important;
}
.checkout-cart-index #shopping-cart-table .item-actions .action:hover {
    color: #222 !important;
}
.checkout-cart-index .cart.main.actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 26px 0 40px !important;
    padding: 0 !important;
    border: 0 !important;
}
.checkout-cart-index .cart.main.actions .action.continue {
    display: inline-block !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: #555 !important;
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.checkout-cart-index .cart.main.actions .action.continue:before {
    display: none !important;
}
.checkout-cart-index .cart.main.actions button.action.update {
    float: none !important;
    margin: 0 !important;
    padding: 10px 22px 9px !important;
    height: auto;
    border: 1px solid #222 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #222 !important;
    opacity: 1;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: 2px;
    line-height: 1.3;
}
.checkout-cart-index .cart.main.actions button.action.update:hover {
    background: #222 !important;
    color: #fff !important;
}
.checkout-cart-index .cart-summary {
    margin: 0 !important;
    padding: 34px 32px 30px !important;
    border: 0 !important;
    background: #f8f6f3 !important;
    box-shadow: none !important;
}
.checkout-cart-index .cart-summary > .summary.title {
    display: block;
    margin: 0 0 22px;
    padding: 0 0 16px;
    border-bottom: 1px solid #e3ded7;
    text-align: center;
    font-size: 0 !important;
}
.checkout-cart-index .cart-summary > .summary.title:after {
    content: 'Order Summary';
    color: #222;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 3px;
    text-transform: uppercase;
}
.checkout-cart-index .cart-summary .block.shipping,
.checkout-cart-index .cart-summary .block.discount {
    margin: 0 0 16px !important;
    border: 0 !important;
}
.checkout-cart-index .cart-summary .block.shipping > .title,
.checkout-cart-index .cart-summary .block.shipping > .title strong {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: #555 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 4px;
    cursor: pointer;
}
.checkout-cart-index .cart-summary .block.shipping > .title:after {
    display: none !important;
}
.checkout-cart-index .cart-summary #cart-totals {
    margin: 0;
    padding: 0;
    border: 0 !important;
}
.checkout-cart-index .cart-summary #cart-totals .table.totals,
.checkout-cart-index .cart-summary #cart-totals .table.totals * {
    border: 0 !important;
    background: transparent !important;
}
.checkout-cart-index .cart-summary #cart-totals .table.totals th,
.checkout-cart-index .cart-summary #cart-totals .table.totals td {
    padding: 8px 0 !important;
    color: #444;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: .5px;
}
.checkout-cart-index .cart-summary #cart-totals .table.totals td {
    text-align: right;
}
.checkout-cart-index .cart-summary #cart-totals .grand.totals th,
.checkout-cart-index .cart-summary #cart-totals .grand.totals td {
    padding-top: 16px !important;
    border-top: 1px solid #e3ded7 !important;
    color: #222 !important;
}
.checkout-cart-index .cart-summary #cart-totals .grand.totals th strong {
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.checkout-cart-index .cart-summary #cart-totals .grand.totals .price {
    font-size: 19px !important;
    font-weight: 400 !important;
    letter-spacing: 1px;
}
.checkout-cart-index .cart-summary .checkout.methods {
    margin: 22px 0 0 !important;
    padding: 0 !important;
}
.checkout-cart-index .cart-summary .checkout.methods .item {
    margin: 0 0 12px !important;
    text-align: center;
}
.checkout-cart-index .cart-summary button.action.primary.checkout {
    display: block;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 15px 18px 14px !important;
    border: 1px solid #222 !important;
    border-radius: 0 !important;
    background: #222 !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    letter-spacing: 3px;
    text-transform: uppercase;
    box-shadow: none !important;
}
.checkout-cart-index .cart-summary button.action.primary.checkout:hover {
    background: #000 !important;
}
.checkout-cart-index .cart-summary .checkout.methods .action.multicheckout {
    color: #777 !important;
    font-size: 11px !important;
    letter-spacing: 1px;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.checkout-cart-index .cart-discount {
    margin: 0 0 30px !important;
    border: 0 !important;
}
.checkout-cart-index .cart-discount .block.discount > .title strong {
    color: #555 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
.checkout-cart-index .cart-empty {
    padding: 40px 16px 80px;
    text-align: center;
    color: #444;
    font-size: 15px;
    letter-spacing: .5px;
}
.checkout-cart-index .cart-empty a {
    color: #222 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
@media (max-width: 991px) {
    .checkout-cart-index .cart-summary {
        margin: 0 0 30px !important;
        padding: 26px 20px !important;
    }
    .checkout-cart-index #shopping-cart-table .col.item .product-item-photo {
        width: 96px;
        max-width: 96px;
        padding-right: 18px;
    }
    .checkout-cart-index #shopping-cart-table .product-image-container {
        width: 96px !important;
    }
}
/* cart polish: stronger overrides for theme rules */
body.checkout-cart-index .cart-container > form#form-validate.form-cart {
    border: 0 !important;
    box-shadow: none !important;
}
body.checkout-cart-index #shopping-cart-table .product-image-container {
    display: block !important;
    border: 0 !important;
}
body.checkout-cart-index #shopping-cart-table thead th,
body.checkout-cart-index #shopping-cart-table thead th span {
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 2px !important;
}
body.checkout-cart-index .cart-summary #cart-totals .table.totals tr {
    display: table-row !important;
}
body.checkout-cart-index .cart-summary #cart-totals .table.totals .totals.shipping .value {
    display: block;
    color: #888;
    font-size: 11px;
}
/* cart thumbnails are 165px squares from Magento - keep them square (sharper than a stretched portrait) */
body.checkout-cart-index #shopping-cart-table .product-image-wrapper {
    padding-bottom: 100% !important;
}
@media (max-width: 991px) {
    body.checkout-cart-index .cart-container {
        display: flex !important;
        flex-direction: column;
        padding: 0 16px;
    }
    body.checkout-cart-index .cart-container > .form-cart { order: 1; }
    body.checkout-cart-index .cart-container > .cart-summary { order: 2; }
    body.checkout-cart-index .cart-container > .cart-discount { order: 3; }
    body.checkout-cart-index .cart-container > #gift-options-cart { order: 4; }
    body.checkout-cart-index #shopping-cart-table thead {
        display: none !important;
    }
    body.checkout-cart-index #shopping-cart-table .item-info td {
        padding: 10px 0 !important;
        text-align: left !important;
    }
    body.checkout-cart-index #shopping-cart-table .item-info td.col.item {
        padding-top: 24px !important;
    }
    body.checkout-cart-index #shopping-cart-table .item-info td[data-th]:before {
        display: block;
        margin: 0 0 6px;
        padding: 0 !important;
        color: #888 !important;
        font-size: 11px !important;
        font-weight: 400 !important;
        letter-spacing: 1.5px;
        text-transform: uppercase;
    }
    body.checkout-cart-index #shopping-cart-table .item-info td.col.price,
    body.checkout-cart-index #shopping-cart-table .item-info td.col.qty,
    body.checkout-cart-index #shopping-cart-table .item-info td.col.subtotal {
        display: inline-block !important;
        width: 33% !important;
        vertical-align: top;
    }
    body.checkout-cart-index #shopping-cart-table .item-actions .actions-toolbar {
        justify-content: flex-start;
    }
    body.checkout-cart-index .cart.main.actions {
        margin: 22px 0 30px !important;
    }
}
@media (max-width: 991px) {
    body.checkout-cart-index .cart.table-wrapper {
        overflow: visible !important;
    }
    body.checkout-cart-index #shopping-cart-table,
    body.checkout-cart-index #shopping-cart-table tbody,
    body.checkout-cart-index #shopping-cart-table tr,
    body.checkout-cart-index #shopping-cart-table td {
        display: block !important;
        width: 100% !important;
    }
    body.checkout-cart-index #shopping-cart-table tr.item-info {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 12px;
    }
    body.checkout-cart-index #shopping-cart-table tr.item-info td.col.item {
        grid-column: 1 / -1;
        display: flex !important;
        align-items: center;
    }
    body.checkout-cart-index #shopping-cart-table tr.item-info td.col.price,
    body.checkout-cart-index #shopping-cart-table tr.item-info td.col.qty,
    body.checkout-cart-index #shopping-cart-table tr.item-info td.col.subtotal {
        display: block !important;
        width: auto !important;
    }
    body.checkout-cart-index #shopping-cart-table tr.item-info td.col.item .product-item-photo,
    body.checkout-cart-index #shopping-cart-table tr.item-info td.col.item .product-item-details {
        display: block !important;
    }
    body.checkout-cart-index #shopping-cart-table tr.item-info td.col.item .product-item-details {
        padding-left: 18px;
    }
}
@media (max-width: 991px) {
    body.checkout-cart-index #shopping-cart-table tr.item-info td.col.item .product-item-photo {
        flex: 0 0 96px;
        width: 96px !important;
        padding: 0 !important;
    }
    body.checkout-cart-index #shopping-cart-table tr.item-info td.col.item .product-item-details {
        flex: 1 1 auto;
        text-align: left;
    }
}

/* D62: Checkout styling (owner 2026-10-08) - presentation only; no field, behaviour or payment-widget change.
   Letter-spaced steps and titles, roomier inputs (name and city/postcode paired), elegant shipping-method row,
   black NEXT / PLACE ORDER, beige order-summary card with a larger product picture and clearer text. */
.checkout-index-index .opc-progress-bar {
    display: flex;
    margin: 6px 0 36px !important;
    border-bottom: 1px solid #e6e6e6;
}
.checkout-index-index .opc-progress-bar-item {
    width: auto !important;
    margin: 0 36px -1px 0 !important;
    padding: 0 0 14px !important;
    border-bottom: 2px solid transparent;
    text-align: left !important;
}
.checkout-index-index .opc-progress-bar-item:before,
.checkout-index-index .opc-progress-bar-item:after,
.checkout-index-index .opc-progress-bar-item > span:before,
.checkout-index-index .opc-progress-bar-item > span:after {
    display: none !important;
}
.checkout-index-index .opc-progress-bar-item > span {
    padding: 0 !important;
    color: #aaa !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}
.checkout-index-index .opc-progress-bar-item._active {
    border-bottom-color: #222;
}
.checkout-index-index .opc-progress-bar-item._active > span {
    color: #222 !important;
}
.checkout-index-index .opc-wrapper .step-title,
.checkout-index-index .checkout-payment-method .step-title {
    margin: 0 0 22px !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid #eee !important;
    color: #222 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: 3px;
    text-transform: uppercase;
}
.checkout-index-index .opc-wrapper .field > .label,
.checkout-index-index .opc-wrapper fieldset.street > .label,
.checkout-index-index .opc-wrapper fieldset.street legend {
    margin: 0 0 6px !important;
    color: #555 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
.checkout-index-index .opc-wrapper fieldset.street .field .label {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}
.checkout-index-index .opc-wrapper input.input-text,
.checkout-index-index .opc-wrapper select,
.checkout-index-index .opc-wrapper textarea {
    height: 46px !important;
    padding: 0 14px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 0 !important;
    background-color: #fff !important;
    box-shadow: none !important;
    color: #222 !important;
    font-size: 15px !important;
}
.checkout-index-index .opc-wrapper input.input-text:focus,
.checkout-index-index .opc-wrapper select:focus {
    border-color: #222 !important;
}
.checkout-index-index .opc-wrapper .field {
    margin: 0 0 18px !important;
}
.checkout-index-index .opc-wrapper .field .note,
.checkout-index-index .opc-wrapper .field .note span {
    color: #888 !important;
    font-size: 12px !important;
}
@media (min-width: 768px) {
    .checkout-index-index #shipping-new-address-form {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 22px;
    }
    .checkout-index-index #shipping-new-address-form > * {
        grid-column: 1 / -1;
    }
    .checkout-index-index #shipping-new-address-form > [name="shippingAddress.firstname"],
    .checkout-index-index #shipping-new-address-form > [name="shippingAddress.lastname"],
    .checkout-index-index #shipping-new-address-form > [name="shippingAddress.city"],
    .checkout-index-index #shipping-new-address-form > [name="shippingAddress.postcode"] {
        grid-column: auto;
    }
}
.checkout-index-index .table-checkout-shipping-method {
    width: 100%;
    margin: 0 0 10px !important;
    border: 1px solid #e6e6e6 !important;
}
.checkout-index-index .table-checkout-shipping-method thead,
.checkout-index-index .table-checkout-shipping-method tr:first-child th {
    display: none;
}
.checkout-index-index .table-checkout-shipping-method td {
    padding: 16px 14px !important;
    border: 0 !important;
    color: #222;
    font-size: 14px !important;
    letter-spacing: .5px;
    vertical-align: middle;
}
.checkout-index-index .table-checkout-shipping-method td .price {
    font-weight: 400 !important;
}
.checkout-index-index .table-checkout-shipping-method input.radio {
    accent-color: #222;
}
.checkout-index-index .opc-wrapper button.action.continue,
.checkout-index-index .checkout-payment-method button.action.primary.checkout,
.checkout-index-index .opc-wrapper .actions-toolbar .action.primary {
    height: auto !important;
    min-width: 220px;
    margin: 0 !important;
    padding: 15px 40px 14px !important;
    border: 1px solid #222 !important;
    border-radius: 0 !important;
    background: #222 !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    letter-spacing: 3px;
    text-transform: uppercase;
    box-shadow: none !important;
}
.checkout-index-index .opc-wrapper button.action.continue:hover,
.checkout-index-index .checkout-payment-method button.action.primary.checkout:hover {
    background: #000 !important;
}
.checkout-index-index .authentication-wrapper button.action-auth-toggle {
    padding: 8px 18px 7px !important;
    height: auto !important;
    border: 1px solid #222 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #222 !important;
    font-size: 11px !important;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.checkout-index-index .authentication-wrapper button.action-auth-toggle:hover {
    background: #222 !important;
    color: #fff !important;
}
.checkout-index-index .opc-block-summary {
    margin: 0 !important;
    padding: 30px 28px 26px !important;
    border: 0 !important;
    background: #f8f6f3 !important;
    box-shadow: none !important;
}
.checkout-index-index .opc-block-summary > .title {
    display: block;
    margin: 0 0 18px !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid #e3ded7 !important;
    color: #222 !important;
    text-align: center;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: 3px;
    text-transform: uppercase;
}
.checkout-index-index .opc-block-summary .items-in-cart > .title,
.checkout-index-index .opc-block-summary .items-in-cart > .title strong {
    padding: 0 0 12px !important;
    border: 0 !important;
    color: #666 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.checkout-index-index .opc-block-summary .minicart-items-wrapper {
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: visible !important;
}
.checkout-index-index .opc-block-summary .minicart-items .product-item {
    padding: 0 0 16px !important;
    border: 0 !important;
}
.checkout-index-index .opc-block-summary .minicart-items .product-item > .product {
    display: flex;
    gap: 18px;
    align-items: flex-start;
}
.checkout-index-index .opc-block-summary .product-image-container {
    flex: 0 0 110px;
    width: 110px !important;
    height: auto !important;
    margin: 0 !important;
    border: 0 !important;
}
.checkout-index-index .opc-block-summary .product-image-wrapper {
    position: relative;
    display: block;
    height: 0;
    padding-bottom: 100% !important;
    overflow: hidden;
}
.checkout-index-index .opc-block-summary .product-image-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover;
}
.checkout-index-index .opc-block-summary .product-item-details {
    flex: 1 1 auto;
    min-width: 0;
    padding: 2px 0 0 !important;
}
.checkout-index-index .opc-block-summary .product-item-inner {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.checkout-index-index .opc-block-summary .product-item-name,
.checkout-index-index .opc-block-summary .product-item-name-block .product-item-name {
    color: #222 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
.checkout-index-index .opc-block-summary .details-qty,
.checkout-index-index .opc-block-summary .details-qty * {
    margin: 0 !important;
    color: #666 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}
.checkout-index-index .opc-block-summary .subtotal,
.checkout-index-index .opc-block-summary .subtotal .price {
    text-align: left !important;
    color: #222 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 1px;
}
.checkout-index-index .opc-block-summary .product.options .toggle,
.checkout-index-index .opc-block-summary .product.options .toggle span {
    color: #666 !important;
    font-size: 12px !important;
    letter-spacing: 1px;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.checkout-index-index .opc-block-summary .product.options .content,
.checkout-index-index .opc-block-summary .product.options .content * {
    color: #555 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
}
.checkout-index-index .opc-block-summary .table-totals,
.checkout-index-index .opc-block-summary .table-totals * {
    border: 0 !important;
    background: transparent !important;
}
.checkout-index-index .opc-block-summary .table-totals th,
.checkout-index-index .opc-block-summary .table-totals td {
    padding: 8px 0 !important;
    color: #444 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}
.checkout-index-index .opc-block-summary .table-totals .grand th,
.checkout-index-index .opc-block-summary .table-totals .grand td {
    padding-top: 14px !important;
    border-top: 1px solid #e3ded7 !important;
    color: #222 !important;
}
.checkout-index-index .opc-block-summary .table-totals .grand .price {
    font-size: 18px !important;
}
.checkout-index-index .opc-block-shipping-information {
    padding: 22px 28px !important;
    background: #f8f6f3;
}
.checkout-index-index .opc-block-shipping-information .shipping-information-title {
    margin: 0 0 10px !important;
    padding: 0 0 10px !important;
    border-bottom: 1px solid #e3ded7 !important;
    color: #222 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.checkout-index-index .checkout-payment-method .payment-method-title label,
.checkout-index-index .checkout-payment-method .payment-option-title span {
    color: #222 !important;
    font-size: 14px !important;
    letter-spacing: .5px;
}
.checkout-index-index .checkout-payment-method .payment-method-title input.radio {
    accent-color: #222;
}
/* order summary: always show the items (Magento folds the list); hide the fold arrow */
.checkout-index-index .opc-block-summary .items-in-cart > .content.minicart-items,
.checkout-index-index .opc-block-summary .items-in-cart .content {
    display: block !important;
}
.checkout-index-index .opc-block-summary .items-in-cart > .title:after {
    display: none !important;
}
.checkout-index-index .opc-block-summary .product.options .toggle {
    display: none !important;
}
.checkout-index-index .opc-block-summary .product.options .item-options dt,
.checkout-index-index .opc-block-summary .product.options .item-options dd {
    display: inline;
    margin: 0;
}
.checkout-index-index .opc-block-summary .product.options .item-options dt:after {
    content: ': ';
}
/* owner follow-up: compact form, larger summary and product picture */
@media (min-width: 992px) {
    .checkout-index-index .opc-wrapper {
        width: 55% !important;
    }
    .checkout-index-index .opc-sidebar {
        width: 40% !important;
        margin-top: 0 !important;
    }
}
.checkout-index-index .opc-wrapper input.input-text,
.checkout-index-index .opc-wrapper select {
    height: 40px !important;
    font-size: 14px !important;
}
.checkout-index-index .opc-wrapper .field {
    margin: 0 0 12px !important;
}
.checkout-index-index .opc-wrapper .field > .label {
    margin: 0 0 4px !important;
    font-size: 10.5px !important;
}
.checkout-index-index .opc-wrapper .step-title {
    margin: 0 0 16px !important;
}
.checkout-index-index .opc-block-summary {
    padding: 34px 34px 30px !important;
}
.checkout-index-index .opc-block-summary > .title {
    font-size: 15px !important;
}
.checkout-index-index .opc-block-summary .product-image-container {
    flex: 0 0 150px;
    width: 150px !important;
}
.checkout-index-index .opc-block-summary .minicart-items .product-item > .product {
    gap: 24px;
}
.checkout-index-index .opc-block-summary .product-item-name,
.checkout-index-index .opc-block-summary .product-item-name-block .product-item-name {
    font-size: 16px !important;
}
.checkout-index-index .opc-block-summary .subtotal,
.checkout-index-index .opc-block-summary .subtotal .price {
    font-size: 17px !important;
}
.checkout-index-index .opc-block-summary .details-qty,
.checkout-index-index .opc-block-summary .details-qty *,
.checkout-index-index .opc-block-summary .product.options .content,
.checkout-index-index .opc-block-summary .product.options .content * {
    font-size: 14px !important;
}
.checkout-index-index .opc-block-summary .table-totals th,
.checkout-index-index .opc-block-summary .table-totals td {
    font-size: 14px !important;
}
.checkout-index-index .opc-block-summary .table-totals .grand .price {
    font-size: 20px !important;
}
@media (max-width: 991px) {
    .checkout-index-index .checkout-container {
        padding: 0 16px;
    }
    .checkout-index-index .opc-estimated-wrapper {
        margin: 0 0 18px !important;
        padding: 14px 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #eee !important;
        background: transparent !important;
    }
    .checkout-index-index .opc-estimated-wrapper .estimated-label {
        color: #777;
        font-size: 11px;
        letter-spacing: 1.5px;
        text-transform: uppercase;
    }
    .checkout-index-index .opc-estimated-wrapper .estimated-price {
        font-size: 15px;
    }
    .checkout-index-index .authentication-wrapper {
        margin: 0 0 12px !important;
    }
    .checkout-index-index .opc-wrapper button.action.continue {
        width: 100%;
    }
}

/* D63: MY A account panel (owner 2026-10-08) - drops down under the MyA mark, styled like the bag panel. */
.aad-account-panel,
.aad-account-panel * {
    box-sizing: border-box;
}
.aad-account-panel {
    position: fixed;
    z-index: 1001;
    width: 340px;
    max-width: calc(100vw - 24px);
    padding: 30px 28px 26px;
    border: 1px solid #e6e6e6;
    background: #fff;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .14);
    color: #222;
    text-align: center;
    font-family: 'Freight-BigLightSC', serif;
}
.aad-account-panel[hidden] {
    display: none !important;
}
.aad-account-panel__close {
    position: absolute;
    top: 12px;
    right: 14px;
    width: 24px !important;
    height: 24px !important;
    min-width: 0 !important;
    margin: 0;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    color: #777 !important;
    font-size: 22px !important;
    line-height: 24px !important;
    cursor: pointer;
}
.aad-account-panel__close:hover {
    color: #222 !important;
}
.aad-account-panel__title {
    margin: 0 0 14px;
    padding: 0 0 14px;
    border-bottom: 1px solid #eee;
    font-size: 14px;
    letter-spacing: 3px;
    text-transform: uppercase;
}
.aad-account-panel__intro {
    margin: 0 0 22px;
    color: #666;
    font-size: 14px;
    line-height: 1.6;
}
.aad-account-panel__btn {
    display: block;
    margin: 0 0 12px;
    padding: 13px 16px 12px;
    border: 1px solid #222;
    background: #fff;
    color: #222 !important;
    font-size: 13px;
    letter-spacing: 3px;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: background .2s ease, color .2s ease;
}
.aad-account-panel__btn:last-child {
    margin-bottom: 0;
}
.aad-account-panel__btn:hover,
.aad-account-panel__btn--dark {
    background: #222;
    color: #fff !important;
}
.aad-account-panel__btn--dark:hover {
    background: #000;
}
.aad-account-panel__links {
    margin: 0 0 20px;
    padding: 0;
    list-style: none;
    text-align: left;
}
.aad-account-panel__links li {
    margin: 0;
    border-bottom: 1px solid #f0f0f0;
}
.aad-account-panel__links a {
    display: block;
    padding: 11px 2px;
    color: #222 !important;
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none !important;
}
.aad-account-panel__links a:hover {
    color: #000 !important;
    padding-left: 6px;
    transition: padding .2s ease;
}
#aad-account-panel .aad-account-panel__title,
#aad-account-panel .aad-account-panel__intro {
    text-align: center !important;
}
#aad-account-panel button.aad-account-panel__close {
    border: 0 !important;
    background: none !important;
    color: #777 !important;
}
#aad-account-panel button.aad-account-panel__close:hover {
    color: #222 !important;
}

/* D64: Sign In / Create an Account pages (owner 2026-10-08) - styled like the MY A panel and the bag:
   no grey title bar or black box, letter-spaced titles and labels, tidy CAPTCHA row, black primary and
   outlined secondary buttons. CSS only - every field, the CAPTCHA and reCAPTCHA are unchanged. */
:is(.customer-account-login, .customer-account-create) .page-title-wrapper {
    margin: 0 0 34px !important;
    padding: 46px 0 0 !important;
    background: none !important;
    text-align: center;
}
:is(.customer-account-login, .customer-account-create) .page-title-wrapper .page-title {
    margin: 0 !important;
}
:is(.customer-account-login, .customer-account-create) .page-title-wrapper .page-title .base {
    font-size: 0 !important;
}
:is(.customer-account-login, .customer-account-create) .page-title-wrapper .page-title .base:after {
    color: #222;
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 5px;
    text-transform: uppercase;
}
.customer-account-login .page-title-wrapper .page-title .base:after {
    content: 'Sign In';
}
.customer-account-create .page-title-wrapper .page-title .base:after {
    content: 'Create an Account';
}

/* shared form styling */
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) {
    color: #222;
}
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) .field {
    margin: 0 0 20px !important;
}
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) .field > .label {
    display: block;
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #777 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 2px;
    line-height: 1.4 !important;
    text-align: left !important;
    text-transform: uppercase;
    float: none !important;
    width: auto !important;
}
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) .field.required > .label:after {
    color: #999 !important;
    font-size: 11px !important;
    margin-left: 3px !important;
}
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) .field > .control {
    float: none !important;
    width: 100% !important;
}
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) input.input-text {
    width: 100% !important;
    height: 48px !important;
    padding: 0 14px !important;
    border: 1px solid #d6d6d6 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #222 !important;
    font-size: 15px !important;
    line-height: 48px !important;
    transition: border-color .2s ease;
}
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) input.input-text:focus {
    border-color: #222 !important;
    outline: 0 !important;
}
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) input.input-text.mage-error {
    border-color: #b3261e !important;
}
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) div.mage-error {
    margin-top: 6px !important;
    color: #b3261e !important;
    font-size: 12px !important;
}

/* CAPTCHA: picture and a quiet "Reload" link on one row under the input */
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) .field.captcha .nested {
    margin: 12px 0 0 !important;
}
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) .field.captcha.no-label {
    margin: 0 !important;
}
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) .control.captcha-image {
    display: flex !important;
    align-items: center;
    gap: 16px;
    margin: 0 !important;
}
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) .captcha-img {
    display: block;
    width: auto !important;
    max-width: 62%;
    height: 54px !important;
    margin: 0 !important;
    border: 1px solid #e6e6e6 !important;
    object-fit: contain;
}
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) button.action.captcha-reload {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 4px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #999 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    color: #555 !important;
    font-size: 11px !important;
    letter-spacing: 2px;
    line-height: 1.4 !important;
    text-transform: uppercase;
}
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) button.action.captcha-reload:hover {
    border-bottom-color: #222 !important;
    color: #222 !important;
}

/* buttons */
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) .actions-toolbar {
    display: block !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
}
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) .actions-toolbar:before,
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) .actions-toolbar:after {
    display: none !important;
}
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) .actions-toolbar > .primary,
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) .actions-toolbar > .secondary {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
}
:is(.customer-account-login #send2, .customer-account-create .form-create-account button.action.submit.primary),
.customer-account-login .login-container .actions-toolbar .secondary a.action.create {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 15px 16px 14px !important;
    border: 1px solid #222 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    line-height: 1.4 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: background .2s ease, color .2s ease;
}
:is(.customer-account-login #send2, .customer-account-create .form-create-account button.action.submit.primary) {
    background: #222 !important;
    color: #fff !important;
}
:is(.customer-account-login #send2, .customer-account-create .form-create-account button.action.submit.primary):hover {
    background: #000 !important;
    border-color: #000 !important;
}
:is(.customer-account-login #send2, .customer-account-create .form-create-account button.action.submit.primary) span {
    color: inherit !important;
    font-size: inherit !important;
    letter-spacing: inherit !important;
}

/* Sign In page: one centred column */
.customer-account-login .login-container {
    max-width: 440px;
    margin: 0 auto 70px !important;
    padding: 0 !important;
}
.customer-account-login .login-container > .row {
    display: block !important;
    margin: 0 !important;
}
.customer-account-login .login-container .block-customer-login {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
.customer-account-login .login-container .block-title {
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: center;
}
.customer-account-login .login-container .block-title strong {
    color: #222 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 3px;
    text-transform: uppercase;
}
.customer-account-login .login-container .form-login {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}
.customer-account-login .login-container .fieldset {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
.customer-account-login .login-container .field.note {
    margin: 0 0 30px !important;
    color: #777 !important;
    font-size: 14px !important;
    line-height: 1.6;
    text-align: center;
}
.customer-account-login .login-container .field:has(> a.action.remind) {
    margin: -6px 0 22px !important;
    text-align: right;
}
.customer-account-login .login-container a.action.remind {
    color: #555 !important;
    font-size: 12px !important;
    letter-spacing: 1px;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}
.customer-account-login .login-container a.action.remind:hover {
    color: #000 !important;
}
.customer-account-login .login-container .actions-toolbar > .secondary {
    margin: 34px 0 0 !important;
    padding: 28px 0 0 !important;
    border-top: 1px solid #eee;
}
.customer-account-login .login-container .actions-toolbar > .secondary:before {
    content: 'New to Aadnevik?';
    display: block;
    margin: 0 0 16px;
    color: #777;
    font-size: 14px;
    letter-spacing: .5px;
}
.customer-account-login .login-container .actions-toolbar .secondary a.action.create {
    background: #fff !important;
    color: #222 !important;
}
.customer-account-login .login-container .actions-toolbar .secondary a.action.create:hover {
    background: #222 !important;
    color: #fff !important;
}
.customer-account-login .login-container .actions-toolbar .secondary a.action.create span {
    color: inherit !important;
}

/* Create an Account page: two quiet columns on desktop, one on phones */
.customer-account-create .form-create-account {
    max-width: 900px;
    margin: 0 auto 70px !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}
.customer-account-create .form-create-account .fieldset {
    float: none !important;
    width: auto !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
}
.customer-account-create .form-create-account .fieldset > .legend {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: 0 0 24px !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid #eee !important;
    color: #222 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 3px;
    text-transform: uppercase;
}
.customer-account-create .form-create-account .fieldset > .legend + br {
    display: none;
}
.customer-account-create .form-create-account .field.choice.newsletter {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin-top: 4px !important;
}
.customer-account-create .form-create-account .field.choice input.checkbox {
    width: 16px;
    height: 16px;
    margin: 0 !important;
    accent-color: #222;
}
.customer-account-create .form-create-account .field.choice .label {
    margin: 0 !important;
    color: #555 !important;
    font-size: 14px !important;
    letter-spacing: .5px;
    text-transform: none !important;
}
.customer-account-create .form-create-account .password-strength-meter {
    margin-top: 6px;
    padding: 6px 10px !important;
    color: #555;
    font-size: 12px !important;
    letter-spacing: .5px;
    line-height: 1.4 !important;
}
.customer-account-create .form-create-account .actions-toolbar {
    max-width: 380px;
    margin: 18px auto 0 !important;
}
.customer-account-create .form-create-account .actions-toolbar > .secondary {
    margin: 18px 0 0 !important;
}
.customer-account-create .form-create-account a.action.back {
    color: #555 !important;
    font-size: 12px !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}
.customer-account-create .form-create-account a.action.back:hover {
    color: #000 !important;
}
@media (min-width: 768px) {
    .customer-account-create .form-create-account {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 60px;
        align-items: start;
    }
    .customer-account-create .form-create-account:before,
    .customer-account-create .form-create-account:after {
        display: none !important;
    }
    .customer-account-create .form-create-account > :not(.fieldset) {
        grid-column: 1 / -1;
    }
}
@media (max-width: 767px) {
    :is(.customer-account-login, .customer-account-create) .page-title-wrapper {
        margin-bottom: 26px !important;
        padding-top: 30px !important;
    }
    :is(.customer-account-login, .customer-account-create) .page-title-wrapper .page-title .base:after {
        font-size: 19px;
        letter-spacing: 4px;
    }
    .customer-account-login .login-container,
    .customer-account-create .form-create-account {
        padding: 0 4px !important;
    }
    .customer-account-create .form-create-account .fieldset + .fieldset {
        margin-top: 18px !important;
    }
}
/* D64 card: the form itself, light grey hairline instead of the theme's black box (owner 2026-10-08) */
body.customer-account-login .login-container form#login-form.form-login,
body.customer-account-create form#form-validate.form-create-account {
    border: 1px solid #e6e6e6 !important;
    box-shadow: none !important;
    background: #fff;
}
body.customer-account-login .login-container form#login-form.form-login {
    display: block !important;
    padding: 38px 44px 34px !important;
}
body.customer-account-create form#form-validate.form-create-account {
    padding: 44px 56px 40px !important;
}
.customer-account-login .login-container .block-title {
    margin-bottom: 18px !important;
}
.customer-account-login .login-container .field.note {
    margin-bottom: 26px !important;
}
.customer-account-login .login-container .fieldset:after {
    display: block;
    margin: 18px 0 0 !important;
    color: #999 !important;
    font-size: 11px !important;
    letter-spacing: 1px;
    text-align: center;
}
.customer-account-create .form-create-account .actions-toolbar {
    width: 100%;
}
@media (max-width: 767px) {
    body.customer-account-login .login-container form#login-form.form-login {
        padding: 28px 20px 24px !important;
    }
    body.customer-account-create form#form-validate.form-create-account {
        padding: 30px 20px 26px !important;
    }
    .customer-account-login .login-container,
    .customer-account-create .form-create-account {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) .field.captcha > .label {
    letter-spacing: 1px;
}
:is(.customer-account-login .login-container, .customer-account-create .form-create-account) button.action.captcha-reload {
    white-space: nowrap;
}
@media (max-width: 767px) {
    .customer-account-login .login-container {
        padding: 0 12px !important;
    }
    body.customer-account-create form#form-validate.form-create-account {
        margin-left: 12px !important;
        margin-right: 12px !important;
    }
}

/* D65: Couture story sections (owner 2026-10-08) - Runway Looks, Inspiration, the two campaign pictures and
   Backstage rearranged as an editorial layout: letter-spaced headings, text beside the portrait, the two pictures
   at equal height, backstage as an even three-up grid. Pictures are kept near their natural size (small originals).
   CSS only; CMS content unchanged. */
.category-couture .category-cms :is(.runway-outer, .restyle-outer-one, .restyle-outer-two, .backstage-outer) .container {
    width: 100% !important;
    max-width: 1080px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}
.category-couture .category-cms :is(.runway-outer, .restyle-outer-one, .backstage-outer) h2.filter-title {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}
.category-couture .category-cms :is(.runway-outer, .restyle-outer-one, .backstage-outer) h2.filter-title .content {
    padding: 0 !important;
    background: none !important;
    color: #222 !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    letter-spacing: 5px !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}
.category-couture .category-cms :is(.runway-outer, .restyle-outer-one, .backstage-outer) h2.filter-title .content:before,
.category-couture .category-cms :is(.runway-outer, .restyle-outer-one, .backstage-outer) h2.filter-title .content:after,
.category-couture .category-cms :is(.runway-outer, .restyle-outer-one, .backstage-outer) h2.filter-title:before,
.category-couture .category-cms :is(.runway-outer, .restyle-outer-one, .backstage-outer) h2.filter-title:after {
    display: none !important;
}

/* Runway Looks: heading + quiet outlined VIEW ALL */
.category-couture .category-cms .runway-outer {
    margin: 0 !important;
    padding: 64px 0 0 !important;
    text-align: center;
}
.category-couture .category-cms .runway-outer h2.filter-title {
    text-align: center !important;
    float: none !important;
    width: 100% !important;
}
.category-couture .category-cms .runway-outer .container > div[style*="clear"] {
    display: none !important;
}
.category-couture .category-cms .runway-outer a.btn-explore {
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    margin: 24px 0 0 !important;
    padding: 13px 46px 12px !important;
    border: 1px solid #222 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #222 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    line-height: 1.4 !important;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: background .2s ease, color .2s ease;
}
.category-couture .category-cms .runway-outer a.btn-explore:hover {
    background: #222 !important;
    color: #fff !important;
}

/* Inspiration: text beside the portrait, vertically centred */
.category-couture .category-cms .restyle-outer-one {
    margin: 0 !important;
    padding: 90px 0 0 !important;
}
.category-couture .category-cms .restyle-outer-one .row,
.category-couture .category-cms .restyle-outer-two .row {
    margin: 0 !important;
}
.category-couture .category-cms .restyle-outer-one .group {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 404px);
    column-gap: 80px;
    align-items: center;
    width: 100% !important;
}
.category-couture .category-cms .restyle-outer-one .group:before,
.category-couture .category-cms .restyle-outer-one .group:after,
.category-couture .category-cms .restyle-outer-two .group:before,
.category-couture .category-cms .restyle-outer-two .group:after {
    display: none !important;
}
.category-couture .category-cms .restyle-outer-one .group > [class*="col-md-"] {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}
.category-couture .category-cms .restyle-outer-one h2.filter-title {
    margin: 0 0 28px !important;
    padding: 0 0 18px !important;
    border-bottom: 1px solid #e6e6e6 !important;
    text-align: left !important;
}
.category-couture .category-cms .restyle-outer-one p {
    max-width: 560px;
    margin: 0 0 18px !important;
    color: #555 !important;
    font-size: 15px !important;
    letter-spacing: .3px;
    line-height: 1.85 !important;
    text-align: left !important;
}
.category-couture .category-cms .restyle-outer-one p:last-of-type {
    margin: 30px 0 0 !important;
    padding: 0 0 0 22px;
    border-left: 1px solid #222;
    color: #222 !important;
    font-size: 18px !important;
    font-style: italic;
    line-height: 1.7 !important;
}
.category-couture .category-cms .restyle-outer-one img {
    display: block;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
}

/* the two campaign pictures: equal height, no gap on the right */
.category-couture .category-cms .restyle-outer-two {
    margin: 0 !important;
    padding: 80px 0 0 !important;
}
.category-couture .category-cms .restyle-outer-two .group {
    display: grid !important;
    grid-template-columns: 1.6fr 1fr;
    column-gap: 24px;
    width: 100% !important;
}
.category-couture .category-cms .restyle-outer-two .group > [class*="col-md-"] {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    overflow: hidden;
}
.category-couture .category-cms .restyle-outer-two img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover;
}

/* Backstage: even three-up grid */
.category-couture .category-cms .backstage-outer {
    margin: 0 !important;
    padding: 90px 0 80px !important;
}
.category-couture .category-cms .backstage-outer .row {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 0 !important;
}
.category-couture .category-cms .backstage-outer .row:before,
.category-couture .category-cms .backstage-outer .row:after {
    display: none !important;
}
.category-couture .category-cms .backstage-outer h2.filter-title {
    grid-column: 1 / -1;
    margin: 0 0 16px !important;
    text-align: center !important;
}
.category-couture .category-cms .backstage-outer .row > [class*="col-md-"] {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}
.category-couture .category-cms .backstage-outer img {
    display: block;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
.category-couture .category-cms :is(.restyle-outer-two, .backstage-outer) img {
    transition: filter .35s ease;
}
.category-couture .category-cms :is(.restyle-outer-two, .backstage-outer) img:hover {
    filter: brightness(1.08);
}

@media (max-width: 991px) {
    .category-couture .category-cms .restyle-outer-one .group {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 40px;
    }
    .category-couture .category-cms .restyle-outer-one .group > .col-md-4 {
        max-width: 404px !important;
        width: 100% !important;
        margin: 0 auto !important;
    }
    .category-couture .category-cms .restyle-outer-one p {
        max-width: none;
    }
}
@media (max-width: 767px) {
    .category-couture .category-cms .runway-outer {
        padding-top: 44px !important;
    }
    .category-couture .category-cms .restyle-outer-one {
        padding-top: 56px !important;
    }
    .category-couture .category-cms :is(.runway-outer, .restyle-outer-one, .backstage-outer) h2.filter-title .content {
        font-size: 18px !important;
        letter-spacing: 4px !important;
    }
    .category-couture .category-cms .restyle-outer-one p {
        font-size: 15px !important;
    }
    .category-couture .category-cms .restyle-outer-one p:last-of-type {
        font-size: 17px !important;
    }
    .category-couture .category-cms .restyle-outer-two {
        padding-top: 48px !important;
    }
    .category-couture .category-cms .restyle-outer-two .group {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 14px;
    }
    .category-couture .category-cms .restyle-outer-two img {
        height: auto !important;
    }
    .category-couture .category-cms .backstage-outer {
        padding: 56px 0 50px !important;
    }
    .category-couture .category-cms .backstage-outer .row {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }
}

/* D66: product page "Make an Enquiry" for looks without a price (owner 2026-10-08) - takes the place of size +
   Add to Bag and is styled exactly like the Add to Bag button (D56). Rendered by product/view/enquiry.phtml. */
.catalog-product-view .product-info-main .aad-pdp-enquiry {
    margin: 4px 0 26px;
}
.catalog-product-view .product-info-main button.aad-pdp-enquiry__button {
    width: auto;
    min-width: 0;
    height: auto;
    margin: 0;
    padding: 6px 16px 5px;
    border: 1px solid #3c3c3c !important;
    border-radius: 0;
    background: transparent !important;
    color: #222 !important;
    font-size: 16px;
    font-weight: 400 !important;
    line-height: 1.3;
    letter-spacing: 2px;
    text-transform: uppercase;
    box-shadow: none;
    transition: background .2s ease, color .2s ease;
}
.catalog-product-view .product-info-main button.aad-pdp-enquiry__button:hover {
    background: #222 !important;
    color: #fff !important;
}
.catalog-product-view .product-info-main button.aad-pdp-enquiry__button span {
    color: inherit !important;
    font: inherit;
    letter-spacing: inherit;
}

/* D67: page speed Phase 2 (2026-10-08) - stored photos now carry width/height so the browser reserves their space
   while they load (no layout shift). height:auto keeps their proportions wherever CSS sets only the width; rules that
   set an explicit height (e.g. D65 equal-height pictures) are more specific and still apply. */
img[data-aad] {
    height: auto;
}

/* D68 (CHANGE 052, owner 2026-10-09): a GBP 0 price is never shown in a product grid (older Runway Looks seasons, mixed
   pages, upsells) - looks without a price are enquiry-only. Real prices are untouched. */
.products-grid .price-box:has([data-price-amount="0"]) {
    display: none !important;
}

/* D69 (CHANGE 053): on phones the product gallery reserves its final layout before the photos and the MagicZoom /
   MagicScroll scripts load. Until then the main photo had no height and the three thumbnails showed as full-size images
   (651px), so everything below jumped twice (Lighthouse layout shift 0.5-0.85). Main photo keeps its 2:3 shape (its own
   proportions once loaded); the thumbnail strip keeps the 166px it ends up with, laid out 4-across like MagicScroll's. */
@media (max-width: 767px) {
    .MagicToolboxMainContainer {
        aspect-ratio: 2 / 3;      /* every main product photo is 1280x1920; holds the space while MagicZoom rebuilds it */
    }
    .MagicToolboxMainContainer a.MagicZoom {
        display: block;
        width: 100%;
    }
    .MagicToolboxMainContainer a.MagicZoom img {
        width: 100%;
        aspect-ratio: auto 2 / 3;
    }
    .MagicToolboxSelectorsContainer:has(.mt-thumb-switcher + .mt-thumb-switcher) {
        height: 166px;
        overflow: hidden;
    }
    .MagicToolboxSelectorsContainer .MagicScroll:not([class*="MagicScroll-"]) {
        padding-top: 10px;
        text-align: center;
        white-space: nowrap;
    }
    .MagicToolboxSelectorsContainer .MagicScroll:not([class*="MagicScroll-"]) > a.mt-thumb-switcher {
        display: inline-block;
        width: calc((100% - 96px) / 4);
        vertical-align: top;
    }
    .MagicToolboxSelectorsContainer .MagicScroll:not([class*="MagicScroll-"]) > a.mt-thumb-switcher img {
        width: 100%;
        height: auto;
    }
}

/* D70 (CHANGE 060): on phones the captcha picture and "Reload captcha" did not fit on one row, so the link ran into the
   picture. Let the row wrap: the link moves neatly under the picture when there is no room beside it. */
@media (max-width: 767px) {
    :is(.customer-account-login .login-container, .customer-account-create .form-create-account) .control.captcha-image {
        flex-wrap: wrap;
        row-gap: 10px;
    }
    :is(.customer-account-login .login-container, .customer-account-create .form-create-account) .captcha-img {
        max-width: 100%;
    }
    /* Magento positions the link absolutely beside the picture; keep it in the row so it can wrap */
    :is(.customer-account-login .login-container, .customer-account-create .form-create-account) button.action.captcha-reload {
        position: static !important;
    }
}

/* D71 (CHANGE 060, owner request): appointment/RFQ result page (/quickrfq/index/) - no "Quick RFQ" page title, and the
   confirmation shown in a light, modest grey box instead of Magento's green one. */
.quickrfq-index-index .page-title-wrapper {
    display: none;
}
.quickrfq-index-index .page.messages .message-success,
.quickrfq-index-index .page.messages .message.success {
    background: #f5f5f5 !important;
    color: #333 !important;
    border: 1px solid #e3e3e3 !important;
    box-shadow: none !important;
}
.quickrfq-index-index .page.messages .message-success > *:first-child::before,
.quickrfq-index-index .page.messages .message.success > *:first-child::before {
    color: #888 !important;
}

/* D72 (CHANGE 062): product grids reserve the photo's real 2:3 shape before it loads. The grid template gives every photo
   width/height 720x720 (square) while the photos are 720x1080, so on slow phones each row grew by ~96px when its photos
   arrived and pushed everything below it down (Lighthouse layout shift ~0.07-0.12 on Shop / Runway pages). "auto" keeps
   any photo with a different shape at its own proportions once loaded. */
.products-grid img.product-image-photo.default_image {
    aspect-ratio: auto 2 / 3;
    height: auto;
}

/* D69b (CHANGE 062): the same main-photo reservation on tablets and desktops. Before the photo arrived the gallery was
   ~343px tall, so the product details tabs and the footer were drawn high up and then pushed down (desktop layout shift
   ~0.13 on product pages). The main photo always fills its column at 2:3 (all main product photos are 1280x1920). */
@media (min-width: 768px) {
    .MagicToolboxMainContainer {
        aspect-ratio: 2 / 3;
    }
    .MagicToolboxMainContainer a.MagicZoom {
        display: block;
        width: 100%;
    }
    .MagicToolboxMainContainer a.MagicZoom img {
        width: 100%;
        aspect-ratio: auto 2 / 3;
    }
}

/* D73 (CHANGE 063): tablets / small laptops. Porto's admin custom CSS offsets the product gallery by 133px on the left
   (div.MagicToolboxContainer.selectorsLeft { padding-left: 133px }). In the half-width gallery column of a tablet that
   left the main photo only ~84px wide at 800px (204px at 1024px). Below 1200px drop the offset; wider screens unchanged. */
@media (min-width: 768px) and (max-width: 1199px) {
    div.MagicToolboxContainer.selectorsLeft,
    div.MagicToolboxContainer.selectorsRight {
        padding-left: 0 !important;
    }
}

/* D74 (CHANGE 070): Vimeo click-to-play. The player is created only when the poster is clicked (aad-vimeo-facade.phtml);
   the button takes the exact place (and inline position/size) of the iframe it replaces. */
button.aad-vimeo {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #111;
    color: #fff;
    cursor: pointer;
    overflow: hidden;
}
button.aad-vimeo img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
button.aad-vimeo::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .18);
    transition: background .2s;
}
button.aad-vimeo:hover::before,
button.aad-vimeo:focus-visible::before {
    background: rgba(0, 0, 0, .05);
}
button.aad-vimeo .aad-vimeo-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 76px;
    height: 76px;
    margin: -38px 0 0 -38px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: rgba(0, 0, 0, .35);
    transition: background .2s;
}
button.aad-vimeo .aad-vimeo-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -13px 0 0 -8px;
    border-style: solid;
    border-width: 13px 0 13px 22px;
    border-color: transparent transparent transparent #fff;
}
button.aad-vimeo:hover .aad-vimeo-icon,
button.aad-vimeo:focus-visible .aad-vimeo-icon {
    background: rgba(0, 0, 0, .6);
}
button.aad-vimeo:focus-visible {
    outline: 2px solid #fff;
    outline-offset: -4px;
}

/* CHANGE 073: pinch-zoom is allowed again (viewport no longer locks the scale), so phone form fields on the login, register and
   contact pages are 16px - iOS Safari zooms the page on focus into any field smaller than that. */
@media (max-width: 991px) {
  .customer-account-login .form-login input.input-text,
  .customer-account-create .form-create-account input.input-text,
  .customer-account-create .form-create-account select,
  .contact-index-index .form.contact input.input-text,
  .contact-index-index .form.contact textarea,
  .customer-account-login input[type="email"], .customer-account-login input[type="password"], .customer-account-login input[type="text"],
  .customer-account-create input[type="email"], .customer-account-create input[type="password"], .customer-account-create input[type="text"],
  .contact-index-index input[type="email"], .contact-index-index input[type="tel"], .contact-index-index input[type="text"], .contact-index-index textarea {
    font-size: 16px !important;
  }
}

/* CHANGE 075: the captcha image's box (262x50) differs from the placeholder's shape until the real captcha loads; cover keeps the real
   captcha pixel-identical (same ratio) and stops the placeholder being stretched (Lighthouse "incorrect aspect ratio"). */
img.captcha-img { object-fit: cover; }

/* CHANGE 078: header search panel. The pop-up was a 280x70 box overlapping the menu, with the category dropdown absolutely positioned
   on top of the text field and the submit button stranded at its edge. Desktop: a full-width white panel under the header with one
   tidy row (category - field - search); phones: the same look with a visible search button. Behaviour/markup unchanged. */
.page-header .aad-tool.aad-search .block-search.show {
  background: #fff !important; border: 0 !important; border-top: 1px solid #ececec !important; border-radius: 0 !important;
  box-shadow: 0 18px 34px rgba(0, 0, 0, .08) !important; height: auto !important; margin: 0 !important;
}
.page-header .aad-search .block-search.show .block-content { width: 100%; max-width: 760px; margin: 0 auto; padding: 0 !important; }
.page-header .aad-search .block-search.show form.minisearch { display: flex !important; align-items: flex-end; width: 100%; margin: 0; }
.page-header .aad-search .block-search.show .field.search { flex: 1 1 auto; display: block; margin: 0; width: auto; }
.page-header .aad-search .block-search.show .control { display: flex !important; align-items: flex-end; position: relative; width: 100% !important; height: auto !important; margin: 0 !important; padding: 0 !important; }
.page-header .aad-search .block-search.show .control .search-category { position: static !important; order: -1; flex: 0 0 200px; width: 200px !important; margin: 0 20px 0 0; }
.page-header .aad-search .block-search.show #mpsearch-category {
  width: 100%; height: 44px !important; margin: 0; padding: 0 22px 0 0 !important; border: 0 !important; border-bottom: 1px solid #1a1a1a !important; border-radius: 0 !important; background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%231a1a1a' stroke-width='1.2'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 2px center; -webkit-appearance: none; appearance: none;
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #1a1a1a; box-shadow: none;
}
.page-header .aad-search .block-search.show input#search {
  flex: 1 1 auto; width: auto !important; min-width: 0; height: 44px !important; margin: 0 !important; padding: 0 4px !important;
  border: 0 !important; border-bottom: 1px solid #1a1a1a !important; border-radius: 0 !important; background: transparent !important;
  box-shadow: none !important; font-size: 15px; letter-spacing: .04em; color: #111;
}
.page-header .aad-search .block-search.show input#search::placeholder { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: #8a8a8a; opacity: 1; }
.page-header .aad-search .block-search.show input#search:focus { outline: 0; border-bottom-width: 2px !important; }
.page-header .aad-search .block-search.show .actions { flex: 0 0 44px; width: 44px; margin: 0; padding: 0; }
.page-header .aad-search .block-search.show button.action.search {
  position: static !important; display: flex !important; align-items: center; justify-content: center; width: 44px !important; height: 44px !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; border-bottom: 1px solid #1a1a1a !important; border-radius: 0 !important;
  background: transparent !important; color: #111 !important; box-shadow: none !important; cursor: pointer;
}
.page-header .aad-search .block-search.show button.action.search {
  font-size: 0 !important; color: transparent !important; line-height: 0 !important; overflow: hidden; opacity: 1 !important;
  background-color: transparent !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 18px 18px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21'/%3E%3C/svg%3E") !important;
}
.page-header .aad-search .block-search.show button.action.search::before, .page-header .aad-search .block-search.show button.action.search::after { content: none !important; display: none !important; }
.page-header .aad-search .block-search.show button.action.search > span { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.page-header .aad-search .block-search.show button.action.search:hover { background-color: #f6f6f6 !important; }
@media (min-width: 992px) {
  .page-header.type21 .aad-tools .aad-tool.aad-search, .page-header .aad-tool.aad-search { position: static !important; }
  .page-header .aad-tool.aad-search .block-search.show {
    position: absolute !important; left: 0 !important; right: 0 !important; top: 100% !important; width: auto !important;
    padding: 28px 24px 32px !important; z-index: 1100 !important;
  }
}
@media (max-width: 991px) {
  .page-header .aad-tool.aad-search .block-search.show { padding: 14px 16px 16px !important; border: 1px solid #ececec !important; box-shadow: 0 14px 30px rgba(0, 0, 0, .14) !important; }
  .page-header .aad-search .block-search.show .block-content { max-width: none; }
}

/* CHANGE 083: order success page. Magento's theme visually hides the "Thank you for your purchase!" heading on this page and leaves the rest as bare
   text; the heading is shown again and the page is centred and letter-spaced like the cart and checkout. Markup and behaviour unchanged. */
.checkout-onepage-success .page-title-wrapper {
  position: static !important; clip: auto !important; width: auto !important; height: auto !important; margin: 0 !important; overflow: visible !important;
  padding: 46px 0 6px; text-align: center;
}
.checkout-onepage-success .page-title-wrapper .page-title {
  display: block; margin: 0; font-size: 20px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; line-height: 1.5; color: #111;
}
.checkout-onepage-success .page-main > .columns .column.main { text-align: center; padding: 6px 0 70px; }
.checkout-onepage-success .column.main p { margin: 0 0 4px; font-size: 14px; letter-spacing: .04em; color: #333; }
.checkout-onepage-success .column.main .checkout-success { margin: 8px 0 0; }
.checkout-onepage-success .column.main .actions-toolbar { margin: 22px 0 0; text-align: center; }
.checkout-onepage-success .column.main .actions-toolbar .primary { float: none; display: inline-block; }
.checkout-onepage-success .column.main .actions-toolbar .action.primary { letter-spacing: .16em; text-transform: uppercase; font-size: 12px; padding: 14px 26px; }
.checkout-onepage-success #registration { margin-top: 38px; padding-top: 26px; border-top: 1px solid #ececec; max-width: 460px; margin-left: auto; margin-right: auto; }
.checkout-onepage-success #registration .action.primary { letter-spacing: .16em; text-transform: uppercase; font-size: 12px; padding: 14px 26px; }
.checkout-onepage-success .checkout-success, .checkout-onepage-success .checkout-success p, .checkout-onepage-success #registration, .checkout-onepage-success #registration p, .checkout-onepage-success #registration .actions-toolbar { text-align: center !important; }
.checkout-onepage-success #registration .actions-toolbar .primary { float: none; display: inline-block; }
