/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* Fix GenerateBlocks Shape pentru iconițe stroke (Lucide, Heroicons Outline, etc.) */
/* Documented in ~/projects/knowledge/GeneratePress/generateblocks-shape-stroke-icons.md */
.gb-shape svg[fill="none"] {                                                                                                                                                                            
    fill: none !important;                                                                                                                                                                              
}                                                                                                                                                                                                                                                                                                                                                                                                         
.gb-shape svg[fill="none"] path,
.gb-shape svg[fill="none"] circle,                                                                                                                                                                      
.gb-shape svg[fill="none"] rect,                                                                                                                                                                        
.gb-shape svg[fill="none"] line,
.gb-shape svg[fill="none"] polyline,                                                                                                                                                                    
.gb-shape svg[fill="none"] polygon,
.gb-shape svg[fill="none"] ellipse {                                                                                                                                                                    
    fill: none !important;
    stroke: currentColor;                                                                                                                                                                               
}



/* Homepage — full-bleed hero lipit de header (păstrează Separating Space pe restul site-ului) */
body.home .site-main {
    margin-top: 0;          /* anulează 20px margin-top de pe .separate-containers .site-main */
}
body.home .inside-article {
    padding-top: 0;         /* anulează 40px padding-top de pe .separate-containers .inside-article */
}

/* Homepage hero — TABLET (769–1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
    body.home .wp-block-cover {
        padding: 60px 48px !important;
        min-height: 620px !important;
    }
    body.home .wp-block-cover h1.wp-block-heading {
        font-size: 56px !important;
        letter-spacing: -1px !important;
        margin-bottom: 28px !important;
    }
    body.home .wp-block-cover .wp-block-cover__inner-container > .wp-block-group > p {
        font-size: 18px !important;
        margin-bottom: 40px !important;
    }
    body.home .wp-block-cover h4.wp-block-heading {
        font-size: 15px !important;
    }
}

/* Homepage hero — MOBILE (≤768px) */
@media (max-width: 768px) {
    body.home .wp-block-cover {
        padding: 48px 24px !important;
        min-height: 560px !important;
    }
    body.home .wp-block-cover h1.wp-block-heading {
        font-size: 36px !important;
        letter-spacing: -0.5px !important;
        line-height: 1.1 !important;
        margin-bottom: 20px !important;
    }
    body.home .wp-block-cover .wp-block-cover__inner-container > .wp-block-group > p {
        font-size: 16px !important;
        line-height: 1.5 !important;
        margin-bottom: 32px !important;
    }
    /* Butoanele pe mobil — stack vertical, full-width pentru tap mai bun */
    body.home .wp-block-cover .wp-block-buttons {
        flex-direction: column;
        align-items: stretch;
        margin-bottom: 40px !important;
    }
    body.home .wp-block-cover .wp-block-button {
        width: 100%;
    }
    body.home .wp-block-cover .wp-block-button .wp-block-button__link {
        display: block;
        text-align: center;
        width: 100%;
        padding: 16px 24px !important;
        font-size: 16px !important;
    }
    /* Benefits row pe mobil — icon mai mic, text mai mic, gap redus */
    body.home .wp-block-cover .gb-element[class*="-row"] {
        gap: 12px !important;
    }
    body.home .wp-block-cover .gb-element[class*="-ico"] {
        width: 40px !important;
        height: 40px !important;
    }
    body.home .wp-block-cover .gb-shape[class*="-shp"],
    body.home .wp-block-cover .gb-shape[class*="-shp"] svg {
        width: 20px !important;
        height: 20px !important;
    }
    body.home .wp-block-cover h4.wp-block-heading {
        font-size: 14px !important;
    }
}

/*TOPBAR*/
p.has-text-align-center.\.gle-topbar {
    margin-bottom: 0;
}
.top-bar {
    border-bottom: 5px solid var(--galben);
}
.main-navigation {
    border-bottom: 3px solid var(--galben);
}

/* Pe mobil ascundem Secondary Navigation (ramane doar meniul de categorii) */
@media (max-width: 768px) {
    .secondary-navigation {
        display: none;
    }
}

/* Cart + search sunt randate si in primary menu bar (vezi functions.php).
   Pe desktop (>=769px) le ascundem — raman doar in secondary.
   Pe mobil (<=768px) secondary e hidden, deci raman doar copiile de primary. */
@media (min-width: 769px) {
    .gle-mobile-only {
        display: none;
    }
}


/* Mobil: inlocuim totalul cosului cu un badge galben cu numarul de produse.                                                                                                                         
Totalul impingea cart+search pe randul urmator, langa burger. */                                                                                                                                  
@media (max-width: 768px) {                                                                                                                                                                          
    /* Ancora pentru badge-ul pozitionat absolut peste iconita */                                                                                                                                    
    .main-navigation .gle-mobile-only .cart-contents {                                                                                                                                               
        position: relative;                                                                                                                                                                          
    }                                                                                                                                                                                                
                                                                                                                                                                                                       
    /* Ascundem suma — ramane vizibila in pagina cosului */                                                                                                                                          
    .main-navigation .gle-mobile-only .cart-contents .amount {                                                                                                                                       
        display: none;                                                                                                                                                                               
    }                                                                                                                                                                                              
                                                                                                                                                                                                       
    /* Badge galben cu numarul de produse, doar cand cosul are produse */                                                                                                                            
    .main-navigation .gle-mobile-only .cart-contents > span.number-of-items {
        display: inline-block;                                                                                                                                                                       
        background: var(--galben);                                                                                                                                                                   
        color: var(--negru);                                                                                                                                                                         
        font-size: 10px;                                                                                                                                                                             
        font-weight: 700;                                                                                                                                                                            
          line-height: 18px;
          min-width: 18px;                                                                                                                                                                             
          height: 18px;                                                                                                                                                                              
          padding: 0 5px;                                                                                                                                                                              
          border-radius: 9px;
          text-align: center;                                                                                                                                                                          
          position: absolute;                                                                                                                                                                        
          top: -6px;
          right: -8px;                                                                                                                                                                                 
          margin: 0;
      }                                                                                                                                                                                                
                                                                                                                                                                                                     
      .main-navigation .gle-mobile-only .cart-contents > span.number-of-items.no-items {                                                                                                               
          display: none;
      }                                                                                                                                                                                                
  }


/* Breadcrumbs */
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb {
    color: var(--negru);
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb a {
    color: var(--negru-2);
}


/* Buton Adaugă în coș */
.woocommerce a.button {
    padding: 10px 15px;
    font-size: 12px;
    text-transform: uppercase;
}

.widget ul li {
    margin: 3px 0px;
}


.gb-element-4c6547e3 .wp-block-group__inner-container {
    max-width: none;
}

/* Titlul produselor din coș */
.woocommerce-cart .shop_table td.product-name a {
    color: var(--negru);
}

/* Titlul produsului pe pagina produsului (doar acest H1, nu toate) */
.single-product .product_title {
    font-size: 25px;
}

/* Butoane secundare în coș: „Aplică cuponul" și „Actualizează coșul" */
.woocommerce-cart .shop_table button[name="apply_coupon"],
.woocommerce-cart .shop_table button[name="update_cart"],
.woocommerce-cart .shop_table input[name="apply_coupon"],
.woocommerce-cart .shop_table input[name="update_cart"] {
    background-color: var(--negru-2);
}
.woocommerce-cart .shop_table button[name="update_cart"],
.woocommerce-cart .shop_table input[name="update_cart"],
.woocommerce-cart .shop_table button[name="update_cart"]:disabled,
.woocommerce-cart .shop_table button[name="update_cart"][disabled],
.woocommerce-cart .shop_table input[name="update_cart"]:disabled,
.woocommerce-cart .shop_table input[name="update_cart"][disabled] {
    color: var(--alb) !important;
}
/* Fără efect de hover când butonul e dezactivat */
.woocommerce-cart .shop_table button[name="update_cart"]:disabled:hover,
.woocommerce-cart .shop_table button[name="update_cart"][disabled]:hover,
.woocommerce-cart .shop_table input[name="update_cart"]:disabled:hover,
.woocommerce-cart .shop_table input[name="update_cart"][disabled]:hover {
    background-color: var(--negru-2);
    color: var(--alb) !important;
}

/* Descriere sub fiecare metodă de livrare la checkout (injectată din plugin) */
.gle-shipping-description {
    display: block;
    margin: 4px 0 8px 24px;
    font-size: 12px;
    line-height: 1.5;
    color: var(--negru-2);
}

/* Checkout — rezumat comandă:
   Scoatem întregul tabel din display:table pentru a putea da tfoot-ului
   și rândurilor lățime 100%. Altfel, `display: block` pe tfoot/tr colapsează
   la lățimea conținutului (browser-ul îl wrap-uiește într-o celulă anonimă).
   thead și tbody sunt reconstruite ca flex-row pentru a păstra layout-ul
   label stânga / preț dreapta al listei de produse. Folosim !important
   pe reset pentru a bate regulile din GeneratePress (`table,td,th{border:...}`)
   și WooCommerce (`.woocommerce table.shop_table ...`) care altfel lasă
   borduri duble și background-uri reziduale pe celule. */

.woocommerce-checkout .woocommerce-checkout-review-order-table,
.woocommerce-checkout .woocommerce-checkout-review-order-table thead,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot {
    display: block;
    width: 100%;
    background: transparent !important;
    border: none !important;
}

/* Reset agresiv pe toate celulele și rândurile — fără bg, fără borduri native */
.woocommerce-checkout .woocommerce-checkout-review-order-table tr,
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Rândurile din thead și tbody — 2 coloane via flex (produs | preț) */
.woocommerce-checkout .woocommerce-checkout-review-order-table thead tr,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr {
    display: flex;
    width: 100%;
    gap: 12px;
    align-items: baseline;
    padding: 12px 0;
    border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent) !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td {
    display: block;
    padding: 0;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-name,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name {
    flex: 1 1 auto;
    text-align: left;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-total,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-total {
    flex: 0 0 auto;
    text-align: right;
    white-space: nowrap;
}

/* Thead — doar bold, fără bg, fără accent suplimentar */
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
    font-weight: 700;
}

/* Tfoot — fiecare rând ocupă toată lățimea, cu același separator subtil */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr {
    display: block;
    width: 100%;
    padding: 12px 0;
    border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent) !important;
    box-sizing: border-box;
}

/* Ultimul rând (Total) — fără border-bottom, e capătul tabelului */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child {
    border-bottom: none !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr td {
    display: block;
    padding: 0;
    font-weight: inherit;
}

/* Subtotal și Livrare — bold pe label pentru consistență cu Total */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals th {
    font-weight: 700;
}

/* Subtotal & Total — label stânga / sumă dreapta pe același rând */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

/* Total — accent vizual */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total {
    font-size: 16px;
    font-weight: 700;
}

/* Livrare — label sus, distanță până la lista de opțiuni */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals th {
    margin-bottom: 10px;
}

/* Lista de shipping rates — fără bullets */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot ul#shipping_method {
    list-style: none;
    margin: 0;
    padding: 0;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot ul#shipping_method li {
    margin: 0 0 8px 0;
    padding: 0;
}

/* Buton pag. Cos - Continua cu finalizarea comenzii */
#add_payment_method .wc-proceed-to-checkout a.checkout-button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
    font-size: 0.9em;
}

/* Buton pag. Checkout - Plaseaza comanda */
.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
    font-size: 100%;
}

/* Validare forms obligatorii (de ex pe pagina de finalizare comanda) */
.woocommerce form .form-row.woocommerce-invalid input.input-text, .woocommerce form .form-row.woocommerce-invalid select {
    border-color: var(--galben);
}
.woocommerce form .form-row.woocommerce-invalid label, .woocommerce form .form-row .required {
    color: var(--galben);
}
.woocommerce form .form-row.woocommerce-validated input.input-text, .woocommerce form .form-row.woocommerce-validated select {
    border-color: var(--negru-2);
}

/* Ascundere header Informatii suplimentare de pe pagina de checkout */
 .woocommerce-additional-fields>h3 {
    display: none;  
 }

 /* Sectiune termeni si conditii si buton finalizare comanda de pe pagina de checkout */
 .woocommerce-checkout #payment div.form-row {
    padding-top: 30px;
 }

 /* Ascunde calcul livrare, sectiune subtotal si heading total cos de pe pagina cosului */
 .cart_totals tr.woocommerce-shipping-totals.shipping, .cart_totals tr.cart-subtotal, .cart_totals .cart_totals h2 {
    display: none;
}

/* ====================  FOOTER WIDGETS  ==================== */
/* Markup-ul widget-urilor sta in marketing/gutenberg-patterns/widgets/ */
/* Stilurile sunt aici (nu inline in markup) ca sa evite recovery-ul Gutenberg */

.footer-widgets {
    background-color: var(--negru);
    color: var(--gri-3);
}
.footer-widgets a {
    color: var(--gri-3);
    text-decoration: none;
    transition: color 0.15s ease;
}
.footer-widgets a:hover {
    color: var(--galben);
}

.gle-footer-logo {
    margin: 0 0 16px 0 !important;
}

.gle-footer-tagline {
    color: var(--gri-3);
    font-size: 14px;
    line-height: 1.5;
    margin: 0 0 20px 0;
}

.gle-footer-social {
    margin: 0 0 28px 0 !important;
}

.gle-footer-heading {
    color: var(--alb) !important;
    font-size: 16px !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 !important;
}
/* Widget-ul care contine doar headline = spatiu mic dupa el (lipit de continut) */
.footer-widgets .widget:has(.gle-footer-heading) {
    margin-bottom: 8px !important;
}

.gle-footer-list {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
    font-size: 14px;
    line-height: 2;
}
.gle-footer-list li {
    margin: 0;
}

.gle-footer-company {
    color: var(--gri-3);
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 16px 0;
}
.gle-footer-company strong {
    color: var(--alb);
}

.gle-footer-contact {
    list-style: none;
    padding: 0;
    margin: 0 0 24px 0;
    font-size: 14px;
    line-height: 1.9;
}
.gle-footer-contact li {
    margin: 0;
}

.gle-footer-program {
    color: var(--gri-3);
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
}
.gle-footer-program strong {
    color: var(--alb);
}

.gle-footer-anpc {
    margin-top: 20px !important;
    gap: 12px !important;
}
.gle-footer-anpc-banner {
    margin: 0 !important;
    width: 100%;
}
.gle-footer-anpc-banner img {
    display: block;
    width: 100%;
    max-width: 250px;
    height: auto;
}

/* Footer widgets pe mobile — coloanele se stack-eaza nativ in GP */
@media (max-width: 768px) {
    .gle-footer-heading {
        margin-top: 24px !important;
    }
    .footer-widget-1 .gle-footer-logo {
        margin-top: 0 !important;
    }
}

/* Mega Menu GeneratePress */
@media (min-width: 769px) {
    nav .main-nav .mega-menu {
        position: static;
    }

    nav .main-nav .mega-menu > ul {
        position: absolute;
        width: 100%;
        left: 0 !important;
        display: flex;
        flex-wrap: wrap;
    }

    nav .main-nav .mega-menu > ul > li > a {
        font-weight: bold;
    }

    nav .main-nav .mega-menu>ul>li {
        display: inline-block;
        width: 25%;
        vertical-align: top;
    }

    nav .main-nav .mega-menu.mega-menu-col-2>ul>li {
        width: 50%;
    }

    nav .main-nav .mega-menu.mega-menu-col-3>ul>li {
        width: 33.3333%;
    }

    nav .main-nav .mega-menu.mega-menu-col-5>ul>li {
        width: 20%;
    }

    nav .main-nav .mega-menu > ul > li:hover > a,
    nav .main-nav .mega-menu > ul > li:focus > a,
    nav .main-nav .mega-menu > ul > li[class*="current-"] > a,
    nav .main-nav .mega-menu ul ul {
        background-color: transparent !important;
        color: inherit;
    }

    nav .main-nav .mega-menu ul .sub-menu {
        position: static;
        display: block;
        opacity: 1;
        visibility: visible;
        width: 100%;
        box-shadow: 0 0 0;
        left: 0;
        height: auto;
        pointer-events: auto;
        transform: scale(1);
    }

    nav .main-nav .mega-menu ul.toggled-on .sub-menu {
        pointer-events: auto;
    }

    nav .main-nav .mega-menu .sub-menu .menu-item-has-children .dropdown-menu-toggle {
        display: none;
    }

    /* Row-gap la mega menu (spatiu intre randuri cand sunt > 4 coloane) */
    nav .main-nav .mega-menu > ul {
        row-gap: 24px;
    }

    /* Accent border galben la dropdown-uri (clasice + primul nivel mega menu) */
    nav .main-nav ul ul {
        border: 2px solid var(--galben);
        border-top: 0;
    }

    /* Exceptie: sub-menu-urile nested din interiorul mega menu sunt inline, nu dropdown-uri */
    nav .main-nav .mega-menu ul ul {
        border: 0;
    }
}

/* ========================================================================
   Product Collection block (carousel, grid) — aliniaza vizual cu loop-ul
   clasic WooCommerce de pe pagina de categorie (acelasi titlu, pret, buton).
   ======================================================================== */

/* Card: flex vertical cu buton pinned la bottom → inaltimi egale */
.wc-block-product {
    display: flex;
    flex-direction: column;
}

/* Titlu: negru, dimensiune naturala (nu medium), fara padding extra */
/* !important necesar — .has-medium-font-size de la block library foloseste !important */
.wc-block-product .wp-block-post-title {
    font-size: 1em !important;
    margin: 0;
    padding: 0.5em 0;
}

.wc-block-product .wp-block-post-title a {
    color: var(--negru-2);
    text-decoration: none;
}

.wc-block-product .wp-block-post-title a:hover {
    color: var(--negru);
}

/* Pret: negru, bold (ca pe categorie) */
/* !important necesar — block-ul pret foloseste has-small-font-size !important */
.wc-block-product .wc-block-components-product-price {
    color: var(--negru);
    font-weight: 700;
}

.wc-block-product .wp-block-woocommerce-product-price {
    font-size: 0.857em !important;
}

/* Container buton — push la bottom si centrare */
.wc-block-product .wp-block-woocommerce-product-button,
.wc-block-product .wc-block-components-product-button {
    margin-top: auto;
    text-align: center;
}

/* Buton "Adauga in cos" — clonat dupa a.button din loop-ul clasic */
.wc-block-product .wp-block-button__link,
.wc-block-product .wc-block-components-product-button .wp-block-button__link {
    background-color: var(--galben);
    color: #fff;
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 0;
    font-size: inherit;
    line-height: inherit;
    border: 0;
}

.wc-block-product .wp-block-button__link:hover,
.wc-block-product .wp-block-button__link:focus,
.wc-block-product .wc-block-components-product-button .wp-block-button__link:hover,
.wc-block-product .wc-block-components-product-button .wp-block-button__link:focus {
    background-color: var(--galben-dark);
    color: #fff;
}


/* Carousel next/previous buttons — center the arrow inside the square.
   WooCommerce default uses :where() (specificity 0), so plain class wins.
   In flex context, SVGs with only HTML width/height attrs collapse to 0,
   so dimensions must be set in CSS. Icon padding is asymmetric by default
   (2px 2px 0 0 / 2px 0 0 2px) — reset it. */
.wc-block-next-previous-buttons__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.wc-block-next-previous-buttons__icon--left,
.wc-block-next-previous-buttons__icon--right {
    width: 8px;
    height: 12px;
    padding: 0;
    flex-shrink: 0;
}

/* Global `ol, ul { margin: 0 0 1.5em 3em }` pushes the carousel list 3em right.
   Reset margin only when the <ul> is a product-collection carousel. */
ul.is-product-collection-layout-carousel {
    margin: 0;
}


/* ========================================================================
   Homepage — "Vino la depozit" section (location + contact + CTAs)
   ======================================================================== */

/* GP applies padding:40px on .wp-block-group__inner-container globally — drop it for this section. */
.gle-depot-section > .wp-block-group__inner-container {
    padding: 0;
}

.gle-depot-section h2 {
    margin-bottom: 12px;
}

.gle-section-sub {
    max-width: 720px;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 24px !important;
    opacity: 0.85;
}

.gle-depot-columns {
    gap: 40px;
}

/* Map click-to-load container */
.gle-map-lazy {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    cursor: pointer;
    background: #e8e8e8;
    border: 2px solid var(--galben);
}

.gle-map-lazy img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: filter 0.2s ease;
}

.gle-map-lazy:hover img {
    filter: brightness(0.85);
}

.gle-map-load-btn {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    background: #ffffff;
    color: #222;
    padding: 12px 20px;
    border: 0;
    border-radius: 0;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    transition: background 0.2s ease, color 0.2s ease;
    pointer-events: none;
}

.gle-map-lazy:hover .gle-map-load-btn {
    background: var(--galben);
    color: #fff;
}

.gle-map-load-btn-icon svg {
    width: 18px;
    height: 18px;
    display: block;
}

.gle-map-lazy[data-loaded="true"] {
    cursor: default;
    border-color: var(--galben);
}

.gle-map-lazy[data-loaded="true"] iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* Info column — headings + paragraphs */
.gle-depot-info .gle-depot-heading {
    margin-top: 20px !important;
    margin-bottom: 6px !important;
    color: var(--galben);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.gle-depot-info .gle-depot-heading:first-child {
    margin-top: 0 !important;
}

.gle-depot-info p {
    margin-bottom: 0;
    font-size: 17px;
    line-height: 1.5;
}

.gle-depot-cta {
    margin-top: 36px;
    gap: 12px;
}

/* Mobile — stack columns, full-width buttons */
@media (max-width: 768px) {
    .gle-depot-columns {
        gap: 24px;
    }

    .gle-map-lazy {
        aspect-ratio: 16 / 10;
    }

    .gle-depot-info .gle-depot-heading {
        margin-top: 20px !important;
    }

    .gle-depot-cta {
        flex-direction: column;
        align-items: stretch;
    }

    .gle-depot-cta .wp-block-button {
        width: 100%;
    }

    .gle-depot-cta .wp-block-button__link {
        display: block;
        text-align: center;
        width: 100%;
    }


/* =============================================================
   Off-canvas mobile menu (GP Premium slideout)
   Approach: hierarchy via indentation + text dimming, NOT via
   per-level background colors. Avoids the right-edge cut-off that
   comes from GP's flex layout on submenu anchors.
   Open-group indicator: a continuous yellow vertical bar (2px) on
   the left of any expanded parent <a> and its open submenu.
   NOTE: item height, base padding & typography are set from Customizer.
   ============================================================= */

:root {
    --gp-slideout-width: min(88vw, 360px);
    --slideout-accent: var(--galben);
}

/* Hide native scrollbar inside the panel (cosmetic on desktop preview) */
#generate-slideout-menu { scrollbar-width: none; }
#generate-slideout-menu::-webkit-scrollbar { display: none; }

/* Allow long item titles to wrap cleanly */
#generate-slideout-menu .main-nav li > a {
    white-space: normal;
    overflow-wrap: break-word;
}

/* Flex so the dropdown chevron stays vertically centered on wrapped lines */
#generate-slideout-menu .menu-item-has-children > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
#generate-slideout-menu .menu-item-has-children > a > .dropdown-menu-toggle {
    float: none;
    flex-shrink: 0;
    padding-left: 0;
    padding-right: 0;
}

/* Level hierarchy via indentation + progressive text dimming.
   L1 keeps the Customizer padding. L2 and L3 add left padding so the
   depth is readable at a glance. */
#generate-slideout-menu .sub-menu > li > a {
    padding-left: 36px;
    color: rgba(255, 255, 255, 0.85);
}
#generate-slideout-menu .sub-menu .sub-menu > li > a {
    padding-left: 54px;
    color: rgba(255, 255, 255, 0.7);
}

/* Open-group indicator: 2px yellow vertical bar on the left of any
   currently-open submenu <ul> and on the expanded parent's <a>.
   Because all bars sit at x=0 of their respective element (which starts
   at the panel's left edge), they stack into one continuous vertical line
   from the expanded L1 through every nested open level. */
#generate-slideout-menu .sub-menu.toggled-on {
    box-shadow: inset 2px 0 0 var(--slideout-accent);
}
#generate-slideout-menu li.sfHover > a {
    box-shadow: inset 2px 0 0 var(--slideout-accent);
    color: var(--slideout-accent);
}

/* Neutralize the desktop-dropdown yellow frame leaking into off-canvas
   (see the `nav .main-nav ul ul { border: 2px solid ... }` rule in the
   >=769px media query above — it was meant for classic hover dropdowns). */
#generate-slideout-menu .main-nav ul ul {
    border: 0;
}

/* Slideout panel contact footer (phone CTA + hours + address).
   Rendered by gle_slideout_contact_footer() in functions.php via the
   generate_after_slideout_navigation hook. Uses #generate-slideout-menu
   prefix so rules win against GP's inline slideout color rules without
   !important. */
#generate-slideout-menu .gle-slideout-footer {
    /* .inside-navigation is a flex container (GP main.css:557) so this block
       would otherwise shrink to content width and sit next to the nav. */
    width: 100%;
    box-sizing: border-box;
    margin-top: 20px;
    padding: 20px 16px 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    text-align: center;
}

#generate-slideout-menu .gle-slideout-footer__label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--galben);
    margin-bottom: 12px;
}

#generate-slideout-menu .gle-slideout-footer__info {
    font-size: 12px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
}

#generate-slideout-menu .gle-slideout-footer__hours {
    margin-bottom: 12px;
}

#generate-slideout-menu .gle-slideout-footer__hours strong {
    color: rgba(255, 255, 255, 0.9);
    font-weight: 600;
}

#generate-slideout-menu .gle-slideout-footer__address {
    margin-bottom: 18px;
}

#generate-slideout-menu .gle-slideout-footer__cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    width: 100%;
    box-sizing: border-box;
    padding: 12px 16px;
    background-color: var(--galben);
    color: var(--negru);
    text-decoration: none;
    border-radius: 4px;
    line-height: 1.2;
    transition: background-color 0.15s ease;
}
#generate-slideout-menu .gle-slideout-footer__cta:hover,
#generate-slideout-menu .gle-slideout-footer__cta:focus {
    background-color: var(--galben-dark);
    color: var(--negru);
    text-decoration: none;
}

#generate-slideout-menu .gle-slideout-footer__cta-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.75;
}
#generate-slideout-menu .gle-slideout-footer__cta-number {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

#generate-slideout-menu .gle-slideout-footer__email {
    display: inline-block;
    margin-top: 12px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    text-transform: none;
    word-break: break-all;
}
#generate-slideout-menu .gle-slideout-footer__email:hover,
#generate-slideout-menu .gle-slideout-footer__email:focus {
    color: var(--galben);
    text-decoration: underline;
}
}