.glider-slide {
    margin: 0px;
}/* 
 * Snowdog Menu Styles - BASE THEME
 * This file contains COMMON styles for ALL child themes
 * Specific styles for each child theme should be in separate files
 */

/* === STILI COMUNI A TUTTI I TEMI === */

.navigation {
   background-color: #e22205;
}

.snowdog-menu-link {
   line-height: 2.0rem; /* Set line height for menu links */
}
/* Top utility bar — layout + colori di brand (vedi css/brand-tokens.css) */

/* No z-index here: it would create a stacking context and trap the
   language dropdown below #header (z-70). The language-switcher itself
   lifts when open via .language-switcher.is-open (z-index: 100). */
.top-header-wrapper {
    position: relative;
    overflow: visible;
}

/*
 * Keep header (and minicart drawer inside it) above the top utility bar.
 * This avoids clipping of "Il mio carrello" at all zoom levels.
 */
 #header {
    position: relative;
    z-index: 70 !important;
}

body.amilon-minicart-open #header {
    position: relative;
    z-index: 90 !important;
}

body.amilon-minicart-open .top-header-wrapper {
    z-index: 40 !important;
}

.top-header-wrapper,
.top-header {
    background-color: var(--brand-top-bar);
}

.top-header {
    align-items: center;
    overflow: visible;
}

/* Do not style language dropdown rows like CMS links (would force white text on white panel) */
.top-header a:not(.lang-option) {
    font-size: 0.75rem;
    letter-spacing: 0.5px;
    font-weight: 500;
    text-transform: uppercase;
    padding: 0.25rem 0.75rem;
    transition: opacity 0.2s ease-in-out;
    color: #fff;
    white-space: nowrap;
}

.top-header a:not(.lang-option):hover {
    opacity: 0.88;
}

.top-header [data-content-type="html"] {
    width: 100% !important;
}

.top-header [data-content-type="html"] > div {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
}

.top-header [data-content-type="html"] .flex {
    display: flex !important;
}

.top-header [data-content-type="html"] .gap-4 > a {
    margin-right: 1.5rem;
}

.top-header [data-content-type="html"] .gap-4 > a:last-child {
    margin-right: 0;
}

.top-header .flex > a {
    margin-right: 1.5rem;
}
/* Language / store switcher (Hyvä). Load after top-header.css.
   I colori arrivano dai token in css/brand-tokens.css. */

.language-switcher {
    position: relative;
    z-index: 2;
    flex-shrink: 0;
}

/* Trigger — gold on burgundy (reference UI) */
.top-header .lang-switcher-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    background-color: rgba(255, 255, 255, 0.1);
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
    color: #e8c547;
    font-weight: 700;
}

.top-header .lang-switcher-btn:hover {
    background-color: rgba(255, 255, 255, 0.16);
    color: #f0d56d;
}

.top-header .lang-switcher-btn:focus-visible {
    outline: 2px solid rgba(232, 197, 71, 0.9);
    outline-offset: 2px;
}

.top-header .lang-switcher-btn .lang-code {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: inherit;
}

/* Bandiere compatte: forza dimensione (SVG come <img> può ingrandirsi con altre regole / utility) */
.language-switcher .flag-icon,
.top-header .language-switcher .flag-icon {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    border-radius: 2px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    object-fit: cover;
    vertical-align: middle;
    flex-shrink: 0;
    display: block;
}

.chevron-icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    color: #e8c547;
    opacity: 0.95;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.top-header .lang-switcher-btn .chevron-icon path,
.lang-switcher-btn .chevron-icon path {
    fill: #e8c547;
}

.lang-switcher-btn:hover .chevron-icon {
    opacity: 1;
}

.top-header .lang-switcher-btn:hover .chevron-icon path,
.lang-switcher-btn:hover .chevron-icon path {
    fill: #f0d56d;
}

.language-switcher.is-open .chevron-icon {
    transform: rotate(180deg);
}

/* When open, lift the language-switcher AND its stacking-context parent
   (.top-header-wrapper z-40) above #header (z-70) so the dropdown is not clipped. */
.language-switcher.is-open {
    z-index: 100;
}

.top-header-wrapper:has(.language-switcher.is-open) {
    z-index: 80;
}

/* Panel: align to trigger start (IT on the left) so content is not clipped off-screen */
.lang-dropdown {
    position: absolute;
    left: 0;
    right: auto;
    top: 100%;
    margin-top: 6px;
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18), 0 0 1px rgba(0, 0, 0, 0.08);
    min-width: 240px;
    width: max-content;
    max-width: min(340px, calc(100vw - 20px));
    overflow: visible;
    z-index: 300;
}

.lang-dropdown-inner {
    padding: 6px 0;
    color: #1a1a1a;
}

.lang-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    text-decoration: none;
    color: #1a1a1a !important;
    transition: background-color 0.15s ease;
    min-width: 0;
    white-space: nowrap;
}

/* Hard reset: top-header link styles must never apply inside the white panel */
.top-header a.lang-option,
.top-header a.lang-option:link,
.top-header a.lang-option:visited {
    color: #1a1a1a !important;
    text-transform: none !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    padding: 10px 14px !important;
    opacity: 1 !important;
}

.lang-option:hover {
    background-color: rgba(164, 33, 39, 0.08);
}

.lang-name {
    font-size: 13px;
    flex: 1 1 auto;
    min-width: 0;
    color: #1a1a1a !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.lang-option:hover .lang-name {
    color: var(--brand-primary-dark) !important;
}

.lang-option .lang-code {
    flex-shrink: 0;
    color: #3d3d3d !important;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.lang-option:hover .lang-code {
    color: var(--brand-primary-dark) !important;
}

.lang-dropdown-enter {
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.lang-dropdown-enter-start {
    opacity: 0;
    transform: translateY(-5px);
}

.lang-dropdown-enter-end {
    opacity: 1;
    transform: translateY(0);
}

.lang-dropdown-leave {
    transition: opacity 0.1s ease, transform 0.1s ease;
}

.lang-dropdown-leave-start {
    opacity: 1;
    transform: translateY(0);
}

.lang-dropdown-leave-end {
    opacity: 0;
    transform: translateY(-5px);
}
