/* The brand shell does not own plugin state, field layout or content typography scale. */
body.tp-brand-shell {
    --tp-ink: var(--tp-brand-ink);
    --tp-muted: var(--tp-brand-muted);
    --tp-accent: var(--tp-brand-yellow);
    --tp-line: var(--tp-brand-line);
    --tp-success: var(--tp-brand-success);
    font-family: var(--tp-brand-body-font);
    font-size: var(--tp-brand-body-size);
    letter-spacing: 0;
    color: var(--tp-brand-ink);
}
.tp-brand-shell :is(h1,h2,h3,h4,h5,h6,.heading-font,.nav,button,input,select,textarea),
.tp-brand-shell.tp-site-ux #main :is(h1,h2,h3,h4) {
    font-family: var(--tp-brand-body-font) !important;
    letter-spacing: 0 !important;
}
.tp-brand-shell :is(a,button,input,select,textarea,summary):focus-visible {
    outline: var(--tp-brand-focus) solid var(--tp-brand-ink);
    outline-offset: 4px;
}
.tp-brand-shell #header {
    color: var(--tp-brand-ink);
    background: var(--tp-brand-paper);
}
.tp-brand-shell #header .header-bg-color {background: var(--tp-brand-paper);}
.tp-brand-shell #header .header-wrapper {box-shadow: 0 1px 0 var(--tp-brand-line);}
.tp-brand-shell #header .header-inner {
    max-width: var(--tp-brand-max-width) !important;
    height: 88px;
    min-height: 88px;
    padding-inline: var(--tp-brand-gutter-desktop);
    gap: 24px;
}
.tp-brand-shell #header #logo {
    width: 190px;
    flex: 0 0 190px;
    margin: 0;
}
.tp-brand-shell #header #logo a {display: flex; align-items: center; min-height: var(--tp-brand-target);}
.tp-brand-shell #header #logo img {
    width: 100%;
    height: auto;
    max-height: 64px;
    object-fit: contain;
}
.tp-brand-shell #header .header-inner > .hide-for-medium.flex-left {display: none;}
.tp-brand-shell #header .header-inner > .hide-for-medium.flex-right {flex: 1; min-width: 0;}
.tp-brand-shell #header .header-nav {gap: 4px; flex-wrap: nowrap;}
.tp-brand-shell #header .header-nav > li {margin: 0;}
.tp-brand-shell #header .nav-divided > li + li > a::after {display: none;}
.tp-brand-shell #header .header-nav > li > a {
    min-height: var(--tp-brand-target);
    padding: 10px 8px;
    font-size: 13px;
    font-weight: 700;
    text-transform: none;
    color: var(--tp-brand-ink);
    white-space: nowrap;
}
.tp-brand-shell #header .header-nav > li > a:hover {text-decoration: underline; text-underline-offset: 5px;}
.tp-brand-shell #header .header-nav > li.active > a {text-decoration: underline; text-decoration-color: var(--tp-brand-yellow); text-decoration-thickness: 3px; text-underline-offset: 6px;}
.tp-brand-shell #header :is(.menu-item-1409 > a,.header-button .button) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--tp-brand-yellow);
    color: var(--tp-brand-ink);
    border: 1px solid transparent;
    border-radius: var(--tp-brand-button-radius) !important;
    min-height: var(--tp-brand-target);
    padding: 10px 20px;
    margin: 0;
    font-weight: 800;
    text-transform: none;
    box-shadow: none;
    line-height: 1.25;
}
.tp-brand-shell #header :is(.menu-item-1409 > a,.header-button .button):hover {background: var(--tp-brand-ink); color: var(--tp-brand-yellow); text-decoration: none;}
.tp-brand-shell #header :is(.nav-icon > a,.cart-item > a) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--tp-brand-target);
    min-width: var(--tp-brand-target);
    height: var(--tp-brand-target);
    min-height: var(--tp-brand-target);
    padding: 0;
    color: var(--tp-brand-ink);
}
.tp-brand-shell #header .header-cart-title {position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%);}
.tp-brand-shell #header :is(.icon-menu,.icon-shopping-cart) {font-size: 24px;}
.tp-brand-shell #header [data-icon-label]::after {background: var(--tp-brand-yellow); color: var(--tp-brand-ink); box-shadow: none;}
.tp-brand-shell #header .top-divider {display: none;}
.tp-brand-shell #header .nav-dropdown {
    border: 1px solid var(--tp-brand-line);
    border-radius: var(--tp-brand-button-radius);
    padding: 12px;
    box-shadow: 0 8px 24px rgb(23 24 22 / 10%);
    background: var(--tp-brand-paper);
}
.tp-brand-shell #header .nav-dropdown a {min-height: var(--tp-brand-target); color: var(--tp-brand-ink); font-size: 14px;}
.tp-brand-shell .off-canvas .sidebar-menu {padding: 56px 18px 24px;}
.tp-brand-shell .off-canvas .nav-sidebar > li > a {
    min-height: 52px;
    padding: 12px 6px;
    font-size: 16px;
    font-weight: 700;
    text-transform: none;
    color: var(--tp-brand-ink);
}
.tp-brand-shell .off-canvas .nav-sidebar .toggle {width: var(--tp-brand-target); min-width: var(--tp-brand-target); height: var(--tp-brand-target); margin-right: 0;}
.tp-brand-shell .off-canvas .nav-sidebar .children a {min-height: var(--tp-brand-target); padding: 10px 16px; color: var(--tp-brand-ink);}
.tp-brand-shell .off-canvas :is(.social-icons a,.mobile-menu-language__option,.header-contact a) {min-height: var(--tp-brand-target); min-width: var(--tp-brand-target);}
.tp-brand-shell .off-canvas .social-icons a {display: inline-flex; align-items: center; justify-content: center; margin: 0; color: var(--tp-brand-ink);}
.tp-brand-shell .off-canvas .mobile-menu-language__option {display: inline-flex; align-items: center; justify-content: center; border-radius: var(--tp-brand-button-radius); color: var(--tp-brand-ink);}
.tp-brand-shell .off-canvas .mobile-menu-language__option.is-active {background: var(--tp-brand-yellow); box-shadow: none;}
.tp-brand-shell .off-canvas .header-contact a {text-transform: none; font-size: 14px; line-height: 1.6;}
.tp-brand-shell .off-canvas .mfp-content {background: var(--tp-brand-paper); width: min(360px,calc(100% - 24px));}
.tp-brand-shell .mfp-close {min-width: var(--tp-brand-target); min-height: var(--tp-brand-target);}

/* Opt-in shared command style; plugin success/error colours remain plugin-owned. */
.tp-brand-shell #main :is(.tp-action,.tp-c-btn--primary,.cta-banner__btn--primary),
.tp-brand-shell .widget_shopping_cart .button.primary {
    background: var(--tp-brand-yellow);
    color: var(--tp-brand-ink);
    border-radius: var(--tp-brand-button-radius);
    border: 1px solid transparent;
    min-height: var(--tp-brand-button-height);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    box-shadow: none;
    letter-spacing: 0;
}
.tp-brand-shell #main :is(.tp-action,.tp-c-btn--primary,.cta-banner__btn--primary):hover {
    background: var(--tp-brand-ink);
    color: var(--tp-brand-yellow);
}
.tp-brand-shell #main .tp-action--secondary {background: var(--tp-brand-paper); border-color: var(--tp-brand-line);}

.tp-brand-shell #footer {background: var(--tp-brand-dark); color: var(--tp-brand-on-dark);}
.tp-brand-shell .tp-brand-footer {
    max-width: var(--tp-brand-max-width);
    margin-inline: auto;
    padding: 64px var(--tp-brand-gutter-desktop) 24px;
}
.tp-brand-shell .tp-brand-footer__grid {display: grid; grid-template-columns: 1.2fr 1fr 1fr .85fr; gap: 40px;}
.tp-brand-shell .tp-brand-footer__grid > * {min-width: 0;}
.tp-brand-shell .tp-brand-footer__logo {display: inline-flex; width: 100px; margin-bottom: 20px;}
.tp-brand-shell .tp-brand-footer__logo img {display: block; width: 100%; height: auto;}
.tp-brand-shell .tp-brand-footer p {font-size: 14px; line-height: 1.7; color: var(--tp-brand-muted-on-dark); margin: 0 0 12px;}
.tp-brand-shell .tp-brand-footer strong {color: var(--tp-brand-on-dark);}
.tp-brand-shell .tp-brand-footer h2 {font-size: 15px; line-height: 1.4; color: var(--tp-brand-on-dark); margin: 0 0 20px; font-weight: 800;}
.tp-brand-shell .tp-brand-footer ul {list-style: none; margin: 0; padding: 0;}
.tp-brand-shell .tp-brand-footer li {margin: 0; padding: 0;}
.tp-brand-shell .tp-brand-footer a {color: var(--tp-brand-muted-on-dark); font-size: 14px; line-height: 1.5; text-decoration: none; overflow-wrap: anywhere;}
.tp-brand-shell .tp-brand-footer :is(li a,.tp-brand-footer__contact a) {display: inline-flex; align-items: center; min-height: var(--tp-brand-target); padding-block: 8px;}
.tp-brand-shell .tp-brand-footer a:hover {color: var(--tp-brand-yellow); text-decoration: underline; text-underline-offset: 4px;}
.tp-brand-shell #footer a:focus-visible {outline-color: var(--tp-brand-yellow);}
.tp-brand-shell .tp-brand-footer__social {display: flex; gap: 12px; margin-top: 16px;}
.tp-brand-shell .tp-brand-footer__social a {width: var(--tp-brand-target); height: var(--tp-brand-target); display: inline-flex; justify-content: center; align-items: center; border: 1px solid var(--tp-brand-muted); border-radius: var(--tp-brand-button-radius); font-size: 20px;}
.tp-brand-shell .tp-brand-footer__bottom {border-top: 1px solid var(--tp-brand-muted); margin-top: 40px; padding-top: 24px;}
.tp-brand-shell .tp-brand-footer__bottom p,.tp-brand-shell .tp-brand-footer__bottom a {font-size: 12px; margin: 0;}
.tp-brand-shell .tp-brand-footer__bottom a {display: inline-flex; min-width: var(--tp-brand-target); min-height: var(--tp-brand-target); align-items: center; justify-content: center; color: var(--tp-brand-yellow);}
.tp-brand-shell #footer .absolute-footer {padding: 0; background: var(--tp-brand-dark);}
.tp-brand-shell #top-link {width: var(--tp-brand-target); height: var(--tp-brand-target); background: var(--tp-brand-paper); color: var(--tp-brand-ink); border-color: var(--tp-brand-line);}

@media (max-width: 1099px) {
    .tp-brand-shell #header .hide-for-medium {display: none !important;}
    .tp-brand-shell #header .show-for-medium {display: block !important;}
    .tp-brand-shell #header .header-inner {display: grid; grid-template-columns: var(--tp-brand-target) minmax(0,1fr) auto; gap: 12px; height: 76px; min-height: 76px; padding-inline: var(--tp-brand-gutter-tablet);}
    .tp-brand-shell #header #logo {grid-column: 2; grid-row: 1; width: 170px; max-width: 100%; justify-self: start;}
    .tp-brand-shell #header .show-for-medium.flex-left {grid-column: 1; grid-row: 1;}
    .tp-brand-shell #header .show-for-medium.flex-right {grid-column: 3; grid-row: 1;}
    .tp-brand-shell #header .mobile-nav {gap: 8px; flex-wrap: nowrap;}
    .tp-brand-shell #header .mobile-nav > li {margin: 0;}
    .tp-brand-shell #header .header-button .button {font-size: 14px; padding: 10px 16px;}
    .tp-brand-shell .tp-brand-footer {padding-inline: var(--tp-brand-gutter-tablet);}
    .tp-brand-shell .tp-brand-footer__grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px;}
}
@media (max-width: 549px) {
    .tp-brand-shell #header .header-inner {height: 72px; min-height: 72px; padding-inline: 8px; gap: 4px;}
    .tp-brand-shell #header #logo {width: 150px; min-width: var(--tp-brand-mobile-logo);}
    .tp-brand-shell #header .mobile-nav {gap: 4px;}
    .tp-brand-shell #header .header-button .button {font-size: 12px; padding-inline: 8px;}
    .tp-brand-shell .tp-brand-footer {padding: var(--tp-brand-section-mobile) var(--tp-brand-gutter-mobile) 24px;}
    .tp-brand-shell .tp-brand-footer__grid {grid-template-columns: minmax(0,1fr); gap: 32px;}
    .tp-brand-shell .tp-brand-footer h2 {margin-bottom: 8px;}
    .tp-brand-shell .tp-brand-footer__bottom {margin-top: 32px; padding-top: 16px;}
}
@media (max-width: 359px) {
    .tp-brand-shell #header .header-inner, .tp-brand-shell #header .mobile-nav {gap: 0;}
    .tp-brand-shell #header .header-button .button {padding-inline: 6px;}
}
@media (prefers-reduced-motion: reduce) {
    .tp-brand-shell #header *, .tp-brand-shell #footer * {transition: none !important;}
}
@media (forced-colors: active) {
    .tp-brand-shell #header :is(.menu-item-1409 > a,.header-button .button) {border-color: ButtonText;}
}
body.tp-brand-shell .cky-preference-header .cky-btn-close {
    min-width: 44px;
    min-height: 44px;
    display: grid;
    place-items: center;
}
