/*
Theme Name: Lagoon Storefront Child
Theme URI: https://lagoon.beauty/
Description: Child theme de Storefront pentru Lagoon Beauty (migrare design Divi).
Author: Lagoon Beauty
Template: storefront
Version: 2.9.73
Text Domain: lagoon-storefront
*/

/* Culorile se fac prin CUSTOMIZER. Aici doar ce nu poate Customizer. Zero forte (!important). */

:root{ --lagoon-gold:#c9a96e; --lagoon-gold-dark:#8c734a; --lagoon-text:#333; }

body, p, li{ line-height:1.8; }
.main-navigation ul li a:hover{ color:var(--lagoon-gold); }
.main-navigation ul.menu ul.sub-menu, .main-navigation ul.nav-menu ul.children{ border-top:2px solid var(--lagoon-gold); }

/* Fara sidebar -> full width */
.site-content .content-area{ width:100%; float:none; margin:0; }
.site-content .widget-area{ display:none; }

/* Ascunde titlul paginii pe homepage */
.home .entry-header .entry-title{ display:none; }

/* ============================================================
 * FOOTER = replica 1:1 a productiei (lagoon.beauty). Clase lb-*.
 * Wrapperul Storefront (.site-footer > .col-full) e scos din plafon
 * ca footerul sa fie full-width (fundalul margine-la-margine).
 * ============================================================ */
.site-footer{ background:#1a1a2e; padding:0; margin-top:0; border:0; }
.site-footer > .col-full{ max-width:100%; width:100%; padding:0; margin:0; }
/* Ascunde bara mobila Storefront de jos (Cont/Cautare/Cos) — owner nu o vrea.
   Apare doar pe mobil (display:block in @media); o scoatem complet din afisare. */
.storefront-handheld-footer-bar{ display:none; }
.lb-ftr{ background:#1a1a2e; padding:48px 0 28px; color:rgba(250,250,248,.65); font-family:'Lato',Arial,sans-serif; }
.lb-ftr *{ box-sizing:border-box; }
.lb-ftr .lb-wrap{ max-width:1200px; margin:0 auto; padding:0 24px; }
.lb-ftr .lb-fg{ display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:48px; }
.lb-ftr .lb-fl{ font-family:'Cormorant Garamond',Georgia,serif; font-size:1.6rem; font-weight:600; color:#fafaf8; margin-bottom:16px; display:block; line-height:1.1; }
.lb-ftr .lb-fl span{ color:#8ba8b5; }
.lb-ftr .lb-fd{ font-size:.83rem; line-height:1.75; margin:0; }
.lb-ftr .lb-fs{ display:flex; gap:12px; margin-top:20px; }
.lb-ftr .lb-fs a{ width:36px; height:36px; border:1px solid rgba(250,250,248,.15); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.78rem; font-weight:600; color:rgba(250,250,248,.6); text-decoration:none; transition:border-color .2s,color .2s; }
.lb-ftr .lb-fs a:hover{ border-color:var(--lagoon-gold); color:var(--lagoon-gold); }
.lb-ftr .lb-badges{ display:flex; gap:14px; margin-top:22px; flex-wrap:wrap; align-items:center; }
.lb-ftr .lb-badges img{ width:180px; height:auto; display:block; border-radius:6px; }
.lb-ftr .lb-fc-title{ font-family:'Montserrat',Arial,sans-serif; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; color:rgba(250,250,248,.9); margin-bottom:12px; padding:0; }
.lb-ftr .lb-fc ul{ list-style:none; margin:0; padding:0; }
.lb-ftr .lb-fc ul li{ margin-bottom:8px; font-size:.83rem; color:rgba(250,250,248,.65); line-height:1.5; }
.lb-ftr .lb-fc ul li a{ font-size:.83rem; color:rgba(250,250,248,.55); text-decoration:none; transition:color .2s; }
.lb-ftr .lb-fc ul li a:hover{ color:var(--lagoon-gold); }
.lb-ftr .lb-fb{ display:flex; justify-content:space-between; align-items:center; padding-top:28px; border-top:1px solid rgba(250,250,248,.08); flex-wrap:wrap; gap:12px; }
.lb-ftr .lb-fcp{ font-size:.78rem; margin:0; color:rgba(250,250,248,.65); }
@media (max-width:767px){
  .lb-ftr{ padding:32px 0 24px; }
  .lb-ftr .lb-fg{ grid-template-columns:1fr; gap:0; margin-bottom:24px; }
  .lb-ftr .lb-fbrand{ margin-bottom:24px; }
  .lb-ftr .lb-fc{ border-bottom:1px solid rgba(255,255,255,.1); padding:0; }
  .lb-ftr .lb-fc-title{ cursor:pointer; display:flex; justify-content:space-between; align-items:center; padding:14px 0; margin-bottom:0; user-select:none; }
  .lb-ftr .lb-fc-title::after{ content:'+'; font-size:1.5rem; font-weight:300; line-height:1; transition:transform .25s ease; flex-shrink:0; margin-left:8px; }
  .lb-ftr .lb-fc.lb-open .lb-fc-title::after{ transform:rotate(45deg); }
  .lb-ftr .lb-fc > ul{ display:none; margin-top:0; padding-bottom:12px; }
  .lb-ftr .lb-fc.lb-open > ul{ display:block; }
  .lb-ftr .lb-fb{ flex-direction:column; text-align:center; }
}

/* ============================================================
 * Paginile custom: scoatem wrapperele Storefront din plafonul de latime,
 * ca SECTIUNILE sa poata fi full-width (benzile alt-bg margine-la-margine).
 * Centrarea continutului o face lsp.css/lgn-home.css (sectiuni max 1140px
 * centrate; benzile --alt full-bleed cu continut centrat). Fara conflicte.
 * ============================================================ */
.lagoon-fullwidth #content .col-full,
.lagoon-fullwidth .content-area,
.lagoon-fullwidth #primary,
.lagoon-fullwidth .site-main,
.lagoon-fullwidth .entry-content,
.lagoon-fullwidth .lsp-page,
.lagoon-fullwidth .lgn-home{ max-width:100%; width:100%; padding-left:0; padding-right:0; margin-left:0; margin-right:0; }

/* MOBIL: logo + tipografie (edge-to-edge vine natural: wrappere full-width + padding intern 16px din lsp.css) */
@media (max-width:768px){
  .site-header .custom-logo{ max-height:64px; }
  h1{ font-size:26px; } h2{ font-size:22px; } h3{ font-size:19px; }
  body, p, li{ font-size:16px; }
}

/* Latime continut desktop putin mai generoasa (reduce golul lateral) */
@media (min-width:769px){
  .lagoon-fullwidth .lsp-page{ --lsp-maxw:1200px; }
  .lagoon-fullwidth .lsp-hero, .lagoon-fullwidth .lsp-section:not(.lsp-section--alt){ max-width:1200px; }
  .lagoon-fullwidth .lsp-section--alt > *{ max-width:1200px; }
  /* Homepage: paragrafele din cardurile de categorie au <br> hardcodate (din vechiul
   * layout Divi ingust) care rup randurile devreme. Le anulam ca textul sa curga
   * pe toata latimea cardului pe desktop. */
  .lgn-cat-block p br{ display:none; }
}

/* ============================================================
 * CONTAINER GLOBAL: continut centrat max 1200px + gutter 16px (mobil) / 32px (ecrane medii).
 * Peste ~1264px continutul se centreaza la 1200 (margini auto). Benzile full-bleed
 * (--alt, hero, footer, carusel) pastreaza fundalul edge-to-edge; doar continutul lor
 * se incadreaza la 1200. Specificitate (0,3,0) ca sa bata lsp.css. box-sizing:border-box
 * ca paddingul sa nu depaseasca 1200.
 * ============================================================ */
@media (max-width:768px){
  .lagoon-fullwidth .lsp-page .lsp-section:not(.lsp-section--alt),
  .lagoon-fullwidth .lsp-page .lsp-section--alt > *{ padding-left:16px; padding-right:16px; box-sizing:border-box; }
}
@media (min-width:769px) and (max-width:1199px){
  .lagoon-fullwidth .lsp-page .lsp-section:not(.lsp-section--alt),
  .lagoon-fullwidth .lsp-page .lsp-section--alt > *{ padding-left:32px; padding-right:32px; box-sizing:border-box; }
}
/* HOMEPAGE (.lgn-home): acelasi container 1200 pe sectiunile de continut; hero + benzile
   --alt raman full-bleed (nu le atingem). */
@media (min-width:769px){
  .lagoon-fullwidth .lgn-home .lgn-section:not(.lgn-section--alt){ max-width:1200px; margin-left:auto; margin-right:auto; }
  .lagoon-fullwidth .lgn-home .lgn-section--alt > *{ max-width:1200px; margin-left:auto; margin-right:auto; }
}
@media (max-width:768px){
  .lagoon-fullwidth .lgn-home .lgn-section:not(.lgn-section--alt){ padding-left:16px; padding-right:16px; box-sizing:border-box; }
}
@media (min-width:769px) and (max-width:1199px){
  .lagoon-fullwidth .lgn-home .lgn-section:not(.lgn-section--alt){ padding-left:32px; padding-right:32px; box-sizing:border-box; }
}

/* ============================================================
 * HERO = imaginea reprezentativa (entry-header) ca BANNER full-width.
 * Titlul vine din .lsp-hero/.lgn-hero, deci ascundem .entry-title (H1 dublu).
 * ============================================================ */
.lagoon-fullwidth .entry-title{ display:none; }
.lagoon-fullwidth .entry-header{ max-width:100%; width:100%; margin:0; padding:0; }
.lagoon-fullwidth article > .entry-header,
.lagoon-fullwidth .hentry > .entry-header{ margin-bottom:0; }

@media (min-width:769px){
  
}

/* Hero banner: incadrare echilibrata (object-position pastreaza subiectul) */
.lagoon-fullwidth .entry-header img.wp-post-image,
.lagoon-fullwidth .entry-header .post-thumbnail img{
  width:100%; display:block; object-fit:cover; object-position:center 35%;
  height:240px; border-radius:0;
}
@media (min-width:769px){
  .lagoon-fullwidth .entry-header img.wp-post-image,
  .lagoon-fullwidth .entry-header .post-thumbnail img{ height:400px; }
}

/* ============================================================
 * BUTOANE UNIFORME (auriu brand). Culoarea de baza vine din Customizer
 * (storefront_button_background_color #c9a96e). Aici doar FORMA comuna,
 * ca .button / WooCommerce / .lsp-btn / blocuri sa arate identic.
 * Castig prin specificitate + ordine, fara !important.
 * ============================================================ */
.button, button.button, input[type="submit"],
.wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce .single_add_to_cart_button,
.lsp-btn, .lsp-btn--primary{
  background-color:var(--lagoon-gold);
  color:#fff;
  border:none;
  border-radius:8px;
  font-weight:600;
  letter-spacing:.3px;
  text-transform:none;
  text-shadow:none;
  text-decoration:none;
  transition:background-color .2s ease, transform .05s ease;
}
.button:hover, button.button:hover, input[type="submit"]:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover,
.lsp-btn:hover, .lsp-btn--primary:hover{
  background-color:var(--lagoon-gold-dark);
  color:#fff;
}
.woocommerce .single_add_to_cart_button{ padding:14px 24px; font-size:16px; line-height:1.3; }

/* ============================================================
 * TIPOGRAFIE UNIFORMA pt paginile de TEXT simplu (legal, utilitare).
 * Exclude paginile cu layout custom (.lagoon-fullwidth = lsp/home).
 * ============================================================ */
body:not(.lagoon-fullwidth) .entry-content{ max-width:820px; }
body:not(.lagoon-fullwidth) .entry-content > * + *{ margin-top:1.1em; }
body:not(.lagoon-fullwidth) .entry-content h2,
body:not(.lagoon-fullwidth) .entry-content h3{ color:var(--lagoon-gold); margin-top:1.6em; line-height:1.3; }
body:not(.lagoon-fullwidth) .entry-content h2{ font-size:24px; }
body:not(.lagoon-fullwidth) .entry-content h3{ font-size:20px; }
body:not(.lagoon-fullwidth) .entry-content ul,
body:not(.lagoon-fullwidth) .entry-content ol{ padding-left:1.4em; }
body:not(.lagoon-fullwidth) .entry-content li{ margin-bottom:.5em; }
body:not(.lagoon-fullwidth) .entry-content a:not([class*="button"]):not(.lsp-btn):not(.lsp-btn--primary){ color:var(--lagoon-gold-dark); text-decoration:underline; }

/* Pe mobil paginile de text raman lizibile cu padding lateral mic */
@media (max-width:768px){
  body:not(.lagoon-fullwidth) .entry-content{ padding-left:16px; padding-right:16px; }
}

/* ============================================================
 * HEADER DESKTOP: logo + meniu pe UN SINGUR RAND, intins ca in
 * productie (lagoon.beauty). Implicit Storefront pune meniul ca
 * banda separata SUB logo; il aducem inline langa logo.
 * Doar >=768px; sub 768 ramane toggle-ul mobil Storefront.
 * ============================================================ */
@media (min-width:768px){
  /* In Storefront, .storefront-primary-navigation e o BANDA full-width separata
   * SUB .col-full (cu logo). Flexam #masthead ca sa fie logo + meniu pe un rand. */
  #masthead{ display:flex; align-items:center; flex-wrap:nowrap; padding-left:20px; padding-right:20px; box-sizing:border-box; }
  #masthead > .col-full{ flex:0 0 auto; width:auto; max-width:none; margin:0; padding:0; }
  #masthead .site-branding{ margin:0; }
  #masthead > .storefront-primary-navigation{ flex:1 1 auto; min-width:0; margin:0; padding:0; clear:none; float:none; border:0; }
  #masthead .storefront-primary-navigation > .col-full{ max-width:none; width:100%; padding:0; margin:0; }
  #masthead .main-navigation{ float:none; width:100%; }
  #masthead .main-navigation > div.primary-navigation{ float:none; }
  #masthead .main-navigation ul.menu{ display:flex; flex-wrap:nowrap; align-items:center; justify-content:flex-start; margin:0; padding-left:24px; }
  #masthead .main-navigation ul.menu > li{ float:none; margin:0; padding:0 14px; white-space:nowrap; }
  #masthead .main-navigation ul.menu > li > a{ padding:10px 0; }
  /* Font meniu IDENTIC cu productia (lagoon.beauty): system stack, 16px, weight 500,
   * culoare auriu-inchis #8c734a, fara text-transform, letter-spacing normal. */
  #masthead .main-navigation ul.menu > li > a{
    font-family:-apple-system,"system-ui","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    font-size:16px;
    font-weight:500;
    color:var(--lagoon-gold-dark);
    text-transform:none;
    letter-spacing:normal;
    line-height:1;
  }
  #masthead .main-navigation ul.menu > li > a:hover{ color:var(--lagoon-gold); }
  /* dropdown-urile raman pozitionate absolut, nu in flow-ul flex */
  #masthead .main-navigation ul.menu ul.sub-menu{ display:block; }
  /* Dropdown desktop: Storefront ii pune fundal GRI #f0f0f0 (vizibil la click pe Oferte etc.)
     + hover items gri rgba(0,0,0,.025). Il facem ALB curat + tenta brand subtila la hover. */
  #masthead .main-navigation ul.menu ul.sub-menu,
  #masthead .main-navigation ul.nav-menu ul.children{
    background:#fff; box-shadow:0 8px 24px rgba(0,0,0,.08);
  }
  #masthead .main-navigation ul.menu ul a:hover,
  #masthead .main-navigation ul.menu ul li:hover > a,
  #masthead .main-navigation ul.menu ul li.focus > a,
  #masthead .main-navigation ul.nav-menu ul a:hover,
  #masthead .main-navigation ul.nav-menu ul li:hover > a,
  #masthead .main-navigation ul.nav-menu ul li.focus > a{
    background:#faf7f1; color:var(--lagoon-gold-dark);
  }
}

/* ============================================================
 * MENIU MOBIL stil Apple.com: overlay full-screen, iteme mari
 * spatiate, accordion pe submeniuri, animatie, scroll lock.
 * Header ramane fixat sus cu butonul X (din Storefront .menu-toggle).
 * Doar <=767px. Clasa body.lagoon-menu-open vine din JS (functions.php).
 * ============================================================ */
@media (max-width:767px){
  body.lagoon-menu-open{ overflow:hidden; }
  /* Cand meniul mobil e deschis: header FIXED (selector cu #masthead ca sa BATA regula
     sticky `#masthead.site-header` 1,1,0 -> aici 1,2,1) + ANULAM backdrop-filter: filtrul
     facea din #masthead un "containing block" pt position:fixed, deci overlay-ul meniului
     (descendent) se raporta la header (~140px) in loc de viewport -> nu acoperea ecranul. */
  body.lagoon-menu-open #masthead.site-header{
    position:fixed; top:0; left:0; right:0; z-index:100000;
    background:#fff; box-shadow:0 1px 0 rgba(0,0,0,.06);
    -webkit-backdrop-filter:none; backdrop-filter:none;
  }
  body.lagoon-menu-open .storefront-handheld-footer-bar{ display:none; }

  #site-navigation.toggled .handheld-navigation{
    position:fixed; left:0; right:0; top:0; bottom:0; z-index:1000;
    background:#fff; padding:92px 22px 48px; margin:0;
    overflow-y:auto; -webkit-overflow-scrolling:touch;
    animation:lgnMenuIn .28s ease both;
  }
  @keyframes lgnMenuIn{ from{opacity:0; transform:translateY(-10px);} to{opacity:1; transform:none;} }

  #site-navigation.toggled .handheld-navigation ul.menu{ margin:0; padding:0; list-style:none; }
  #site-navigation.toggled .handheld-navigation li{ position:relative; border-bottom:1px solid #ededed; margin:0; }
  #site-navigation.toggled .handheld-navigation li a{
    display:block; padding:19px 56px 19px 2px; text-decoration:none;
    font-family:-apple-system,"system-ui","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    font-size:23px; font-weight:600; letter-spacing:-.01em; line-height:1.2; color:var(--lagoon-gold-dark);
  }
  #site-navigation.toggled .handheld-navigation li a:hover,
  #site-navigation.toggled .handheld-navigation li a:active{ color:var(--lagoon-gold); }
  /* Fara chenar/highlight la atingere/selectare in meniul mobil */
  #site-navigation.toggled .handheld-navigation a,
  #site-navigation.toggled .handheld-navigation .dropdown-toggle{ -webkit-tap-highlight-color:transparent; }
  #site-navigation.toggled .handheld-navigation a:focus,
  #site-navigation.toggled .handheld-navigation a:active,
  #site-navigation.toggled .handheld-navigation li:focus-within > a,
  #site-navigation.toggled .handheld-navigation .dropdown-toggle:focus{ outline:0; background:transparent; box-shadow:none; }

  /* submeniuri = accordion (ascunse pana la .toggled-on pus de JS-ul Storefront) */
  #site-navigation.toggled .handheld-navigation ul.sub-menu{ display:none; padding:0 0 6px 10px; border:0; }
  #site-navigation.toggled .handheld-navigation ul.sub-menu.toggled-on{ display:block; }
  #site-navigation.toggled .handheld-navigation ul.sub-menu li{ border-bottom:0; }
  #site-navigation.toggled .handheld-navigation ul.sub-menu li a{ font-size:18px; font-weight:400; padding:12px 2px; color:var(--lagoon-gold-dark); }

  /* chevron pe dreapta (buton .dropdown-toggle creat de Storefront), rotire la expand */
  #site-navigation.toggled .handheld-navigation .dropdown-toggle{
    position:absolute; top:0; right:0; width:60px; height:62px;
    background:transparent; border:0; padding:0; margin:0; cursor:pointer; z-index:2;
  }
  #site-navigation.toggled .handheld-navigation .dropdown-toggle::after{
    content:""; position:absolute; top:50%; right:16px; width:11px; height:11px;
    border-right:2px solid var(--lagoon-gold-dark); border-bottom:2px solid var(--lagoon-gold-dark);
    transform:translateY(-65%) rotate(45deg); transition:transform .2s ease;
  }
  #site-navigation.toggled .handheld-navigation .dropdown-toggle.toggled-on::after{
    transform:translateY(-35%) rotate(225deg);
  }
  /* BUTON HAMBURGER stil Apple: 2 liniute orizontale STIVUITE (una sub alta),
   * fara textul "Menu", fara chenar/outline in nicio stare; devin X la deschidere.
   * Storefront face un hamburger cu 3 elemente (::before, span::before, ::after);
   * il resetam complet si controlam totul prin specificitate (#id), fara !important. */
  #site-navigation .menu-toggle{
    -webkit-appearance:none; appearance:none;
    background:transparent; border:0; outline:0; box-shadow:none; border-radius:0;
    padding:0; margin:0; width:30px; height:24px; max-width:none;
    position:relative; float:right; font-size:0; color:transparent;
  }
  #site-navigation .menu-toggle:hover,
  #site-navigation .menu-toggle:focus,
  #site-navigation .menu-toggle:active{ background:transparent; border:0; outline:0; box-shadow:none; }
  /* ascunde textul "Menu" si linia din mijloc (span::before) -> raman DOAR 2 linii */
  #site-navigation .menu-toggle span{ font-size:0; }
  #site-navigation .menu-toggle span::before{ display:none; }
  /* cele 2 linii, centrate orizontal, latime fixa */
  #site-navigation .menu-toggle::before,
  #site-navigation .menu-toggle::after{
    content:""; display:block; position:absolute; left:50%; width:18px; height:2px;
    margin-left:-9px; background:var(--lagoon-gold-dark); border-radius:2px; top:50%;
    transition:transform .25s ease, margin-top .25s ease;
  }
  /* distanta intre linii = ca la Apple: ~7px centru-la-centru */
  #site-navigation .menu-toggle::before{ margin-top:-4.5px; }  /* linia de sus */
  #site-navigation .menu-toggle::after{ margin-top:2.5px; }    /* linia de jos */
  /* deschis -> X: ambele in centru, rotite invers */
  #site-navigation.toggled .menu-toggle::before{ margin-top:-1px; transform:rotate(45deg); }
  #site-navigation.toggled .menu-toggle::after{ margin-top:-1px; transform:rotate(-45deg); }
  /* X-ul ramane deasupra overlay-ului */
  body.lagoon-menu-open #site-navigation .menu-toggle{ position:relative; z-index:1002; }
  /* Logo-ul ramane vizibil deasupra overlay-ului (Apple pastreaza logo + X sus) */
  body.lagoon-menu-open .site-header .site-branding{ position:relative; z-index:1002; }
}

/* ============================================================
 * CARDURI PRODUS pe pagina OFERTE: chenar auriu brand, colturi
 * rotunjite, design modern, inaltimi EGALE (grid) + buton aliniat jos.
 * Scoped la .lsp-page (Oferte) ca sa NU afecteze related products etc.
 * ============================================================ */
/* Prefix .lsp-page .woocommerce ul.products.columns-3 (specificitate 0,5,x) ca sa
 * batem regula Storefront .woocommerce ul.products.columns-3 li.product (width:30%). */
.lsp-page .woocommerce ul.products.columns-3{
  display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:1fr; gap:24px;
  margin:0 0 2em; padding:0; list-style:none;
}
.lsp-page .woocommerce ul.products.columns-3::before,
.lsp-page .woocommerce ul.products.columns-3::after{ content:none; display:none; } /* anuleaza clearfix in grid */
.lsp-page .woocommerce ul.products.columns-3 li.product{
  width:auto; float:none; margin:0; padding:18px;
  border:1px solid var(--lagoon-gold); border-radius:14px; background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.05);
  display:flex; flex-direction:column;
  transition:box-shadow .2s ease, transform .2s ease;
}
.lsp-page .woocommerce ul.products.columns-3 li.product:hover{ box-shadow:0 10px 26px rgba(201,169,110,.20); transform:translateY(-3px); }
.lsp-page .woocommerce ul.products.columns-3 li.product > a.woocommerce-LoopProduct-link{ display:flex; flex-direction:column; flex:1 1 auto; }
.lsp-page .woocommerce ul.products.columns-3 li.product img{ width:100%; height:210px; object-fit:cover; border-radius:10px; margin:0 0 14px; }
.lsp-page .woocommerce ul.products.columns-3 li.product .woocommerce-loop-product__title{ font-size:16px; font-weight:600; line-height:1.35; min-height:2.7em; margin:0 0 8px; color:var(--lagoon-text); }
.lsp-page .woocommerce ul.products.columns-3 li.product .star-rating{ margin:0 0 10px; font-size:.85em; }
.lsp-page .woocommerce ul.products.columns-3 li.product .price{ display:block; margin:0 0 14px; color:var(--lagoon-gold-dark); font-weight:600; }
.lsp-page .woocommerce ul.products.columns-3 li.product .button,
.lsp-page .woocommerce ul.products.columns-3 li.product a.add_to_cart_button{ margin-top:auto; width:100%; text-align:center; box-sizing:border-box; }
@media (max-width:980px){ .lsp-page .woocommerce ul.products.columns-3{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .lsp-page .woocommerce ul.products.columns-3{ grid-template-columns:1fr; } }

/* ============================================================
 * CARDURI OFERTA pe paginile de serviciu (.lsp-offer): chenar auriu
 * brand + colturi rotunjite + padding (design ca pe pagina Oferte).
 * Specificitate (0,2,0) ca sa bata .lsp-card (border gri) din lsp.css.
 * ============================================================ */
.lsp-page .lsp-offer{
  border:1px solid var(--lagoon-gold); border-radius:14px;
  background:#fff; padding:18px; box-shadow:0 2px 10px rgba(0,0,0,.05);
}

/* Storefront pune .hentry .entry-content a{underline} (0,2,1) care subliniaza si
 * butoanele-link. Anulam pe butoane cu specificitate mai mare (0,3,1). */
.hentry .entry-content a.lsp-btn,
.hentry .entry-content a.lsp-btn--primary,
.hentry .entry-content a.button,
.hentry .entry-content a.wp-block-button__link{ text-decoration:none; }

/* ============================================================
 * FIX layout pagini serviciu: imagini alignleft flotate (artefact Divi)
 * "scapau" din sectiune si impingeau sectiunea urmatoare (CTA + carduri
 * servicii) intr-o coloana ingusta pe DREAPTA.
 *  - fiecare .lsp-section isi contine floaturile (display:flow-root)
 *  - imaginile din carduri NU mai floteaza (bloc, sus, latime plina)
 *  - grila de carduri = multi-coloana pe desktop (nu doar in .lsp-offers)
 * ============================================================ */
.lsp-page .lsp-section{ display:flow-root; }
.lsp-page figure.alignleft,
.lsp-page figure.alignright{ float:none; }
.lsp-page .lsp-card figure.alignleft{ margin:0 0 12px; }
.lsp-page .lsp-card figure.alignleft img{ width:100%; height:auto; display:block; }
@media (min-width:769px){
  .lsp-page .lsp-grid{ grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:24px; }
}

/* ============================================================
 * Pagini serviciu unde cardurile (.lsp-offer) sunt DIRECT in
 * section.lsp-offers (fara wrapper .lsp-grid) → facem sectiunea
 * grila, ca sa fie carduri pe randuri (nu stivuite full-width).
 * Titlurile / .lsp-grid interior se intind pe tot randul.
 * ============================================================ */
.lsp-page ul.lsp-offers{ list-style:none; margin:0; padding:0; }
.lsp-page ul.lsp-offers > li.lsp-offer{ margin:0; }
@media (min-width:769px){
  /* orice container .lsp-offers (section / div / ul) devine grila de carduri;
   * un eventual .lsp-grid sau titlu interior se intinde pe tot randul. */
  .lsp-page .lsp-offers{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:24px; align-items:stretch; }
  .lsp-page .lsp-offers > :not(.lsp-offer){ grid-column:1 / -1; }
}
/* Imaginile din cardurile de oferta (figura alignleft) umplu latimea cardului */
.lsp-page .lsp-offer figure.alignleft img{ width:100%; height:auto; display:block; }

/* ============================================================
 * VIDEO YouTube responsive si incadrat (nu prea lat). 16:9 normal;
 * 9:16 pt Shorts verticale (clasa .lsp-video-vertical adaugata de JS
 * pe iframe-urile portret - vezi functions.php). Centrat, colturi rotunjite.
 * ============================================================ */
.entry-content .wp-block-embed-youtube{ max-width:720px; margin:1.5em auto; }
.entry-content .wp-block-embed-youtube .wp-block-embed__wrapper{ padding:0; }
.entry-content .wp-block-embed-youtube .wp-block-embed__wrapper::before{ content:none; padding:0; }
/* aspect-ratio direct pe iframe (in flux) - robust si cand figura e item de grid */
.entry-content .wp-block-embed-youtube iframe{ display:block; width:100%; height:auto; aspect-ratio:16/9; border:0; border-radius:12px; }
.entry-content .wp-block-embed-youtube.lsp-video-vertical{ max-width:330px; }
.entry-content .wp-block-embed-youtube.lsp-video-vertical iframe{ aspect-ratio:9/16; }
@media (max-width:767px){
  .entry-content .wp-block-embed-youtube.lsp-video-vertical{ max-width:78vw; }
}

/* ============================================================
 * CHECKOUT — design curat, culori brand (FARA albastru/verde),
 * radio-uri de plata clare (fara buline negre), fara "Livreaza
 * la o alta adresa".
 * ============================================================ */
/* Notice-uri WooCommerce (cupon "Ai un cupon?", mesaje) -> crem + auriu */
.woocommerce-info, .woocommerce-message, .woocommerce-noreviews,
.woocommerce .woocommerce-info, .woocommerce-checkout .woocommerce-info{
  background:#faf7f1; color:var(--lagoon-text);
  border-top:3px solid var(--lagoon-gold);
}
.woocommerce-info::before, .woocommerce-message::before{ color:var(--lagoon-gold); }
.woocommerce-info a, .woocommerce-message a{ color:var(--lagoon-gold-dark); text-decoration:underline; }

/* ===== Metode de plata: CARDURI SEGMENTATE full-width (selector blocks) =====
 * Fiecare metoda = bloc dreptunghiular pe toata latimea, cu iconita + text.
 * Selectat = fundal auriu dramatic + bordura accentuata + umbra. Radio nativ ascuns. */
.woocommerce-checkout #payment ul.payment_methods{
  list-style:none; margin:0 0 1.5em; padding:0; border:0;
  display:flex; flex-direction:column; gap:12px;
}
.woocommerce-checkout #payment ul.payment_methods li{
  list-style:none; margin:0; padding:0; border:2px solid #e6ddca; border-radius:14px;
  background:#fff; overflow:hidden; transition:border-color .2s ease, box-shadow .2s ease;
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]{ display:none; }
/* randul-buton: iconita sugestiva + text, pe toata latimea, clickabil */
.woocommerce-checkout #payment ul.payment_methods li > label{
  display:flex; align-items:center; gap:14px; width:100%; box-sizing:border-box;
  margin:0; padding:18px 20px; cursor:pointer;
  font-size:1.05em; font-weight:600; line-height:1.3; color:var(--lagoon-text);
  transition:background .2s ease, color .2s ease;
}
.woocommerce-checkout #payment ul.payment_methods li > label::before{
  font-family:"Font Awesome 5 Free"; font-weight:900; font-size:1.25em;
  flex:0 0 auto; width:1.5em; text-align:center; color:var(--lagoon-gold-dark);
  transition:color .2s ease;
}
.woocommerce-checkout #payment ul.payment_methods li.payment_method_netopiapayments > label::before{ content:"\f09d"; } /* card */
.woocommerce-checkout #payment ul.payment_methods li.payment_method_bacs > label::before{ content:"\f19c"; }          /* banca */
.woocommerce-checkout #payment ul.payment_methods li.payment_method_cod > label::before{ content:"\f3c5"; }           /* locatie */
.woocommerce-checkout #payment ul.payment_methods li > label img{ margin:0 0 0 auto; max-height:26px; width:auto; }
/* STARE SELECTATA: fundal auriu dramatic */
.woocommerce-checkout #payment ul.payment_methods li:has(input[type="radio"]:checked){
  border-color:var(--lagoon-gold-dark); box-shadow:0 6px 18px rgba(140,115,74,.28);
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:checked + label{
  background:var(--lagoon-gold); color:#fff;
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:checked + label::before{ color:#fff; }
/* descrierea metodei (payment_box) = subsol curat al cardului */
.woocommerce-checkout #payment ul.payment_methods li .payment_box{
  margin:0; padding:14px 20px; background:#faf7f1; color:var(--lagoon-text);
  font-size:.92em; line-height:1.5; border-top:1px solid #efe7d6;
}
.woocommerce-checkout #payment ul.payment_methods li .payment_box::before{ display:none; }
.woocommerce-checkout #payment ul.payment_methods li .payment_box p{ margin:0; }
/* hover subtil pe carduri neselectate */
.woocommerce-checkout #payment ul.payment_methods li:not(:has(input[type="radio"]:checked)):hover{ border-color:var(--lagoon-gold); }
/* Storefront sterge border-bottom la ULTIMUL li
   (`#payment .payment_methods li:last-child:not(.woocommerce-notice){border-bottom:0}`, spec 1,3,1
   > regula noastra de card 1,2,2) -> ultimul card (Plata in locatie) ramanea fara chenar jos.
   Reafirmam bordura de jos cu specificitate mai mare (1,3,2); pastram gold-dark cand e selectat. */
.woocommerce-checkout #payment ul.payment_methods li:last-child{ border-bottom:2px solid #e6ddca; }
.woocommerce-checkout #payment ul.payment_methods li:last-child:has(input[type="radio"]:checked){ border-bottom-color:var(--lagoon-gold-dark); }

/* Scoate optiunea "Livreaza la o alta adresa" (livrarea = adresa de facturare) */
#ship-to-different-address{ display:none; }

/* Campul "Nume si prenume" tine numele complet -> ascundem chenarul gol billing_last_name
   (snippetul ii pune deja clasa .hidden + required:false; aici il facem efectiv invizibil). */
.woocommerce-checkout #billing_last_name_field{ display:none; }

/* Comanda ta: produs (text lung) mai lat, coloana valoare (lei) mai ingusta.
   table-layout:fixed -> latimile din thead guverneaza toate randurile. */
.woocommerce-checkout-review-order-table{ table-layout:fixed; }
.woocommerce-checkout-review-order-table th.product-name{ width:65%; }
.woocommerce-checkout-review-order-table th.product-total{ width:35%; }

/* MOBIL: TOT continutul checkout-ului (titlu "Finalizeaza comanda", "Detalii pentru
   facturare", "Comanda ta", cupon, card cadou) aliniat uniform la 12px de marginile
   ecranului. Gutterul implicit e ~39px (.col-full margin ~22.65px + .entry-content
   padding 16px) si nu e aliniat (titlul la 23px, continutul la 39px). FIX la nivel de
   wrapper: trage .col-full la 12px de margine (calc(50% - 50vw + 12px), robust indiferent
   de blocul conancator fiindca .col-full e centrat in viewport) si zero pe paddingul
   .entry-content -> totul cade la x=12 w=366. Cardurile cupon/cadou nu mai au pull propriu
   (umplu containerul largit), pastreaza doar border-radius. Scopat strict pe checkout. */
@media (max-width:768px){
  body.woocommerce-checkout #content .col-full{
    margin-left:calc(50% - 50vw + 12px);
    margin-right:calc(50% - 50vw + 12px);
    max-width:none;
  }
  body.woocommerce-checkout .entry-content{ padding-left:0; padding-right:0; }
  .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
    margin-left:0; margin-right:0; border-radius:10px;
  }
  /* Sub-total / Total: randuri compacte + fundal gri pe tot randul, valoare la dreapta. */
  .woocommerce-checkout-review-order-table tr.cart-subtotal,
  .woocommerce-checkout-review-order-table tr.order-total{ background-color:#f8f8f8; }
  .woocommerce-checkout-review-order-table tr.cart-subtotal > th,
  .woocommerce-checkout-review-order-table tr.cart-subtotal > td,
  .woocommerce-checkout-review-order-table tr.order-total > th,
  .woocommerce-checkout-review-order-table tr.order-total > td{
    padding-top:8px; padding-bottom:8px; background:transparent; border:0;
  }
  .woocommerce-checkout-review-order-table tr.cart-subtotal > td,
  .woocommerce-checkout-review-order-table tr.order-total > td{ text-align:right; }
  /* Rubrica "Livrare" eliminata (serviciu prestat la salon, fara transport). */
  .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping{ display:none; }
}

/* DESKTOP: checkout-ul era plafonat la 820px (regula tipografie pagini text
   body:not(.lagoon-fullwidth) .entry-content{max-width:820px}) -> continut lipit stanga
   cu gol urias dreapta (~432px). Il largim: scoatem capul de 820 pe entry-content si marim
   col-full la 1280 -> continut ~1280 centrat, spatiu pana la margine redus de la ~188px la
   ~80px/parte (la 1440); la viewport mai mic ramane ~42px gap (Storefront padding), 0 overflow. */
@media (min-width:769px){
  body.woocommerce-checkout #content .col-full{ max-width:1200px; }
  body.woocommerce-checkout .entry-content{ max-width:none; width:100%; }
}

/* ============================================================
 * VARIATION SWATCHES (plugin woo-variation-swatches) = butoane brand,
 * ca pe PRODUCTIE. Pe productie sumele Card Cadou (250/500/1.000/2.500 lei,
 * Alta suma) apar ca BUTOANE late cu chenar auriu 2px #c9a96e + radius 14px;
 * pe test erau patrate 70x70 fara chenar (default WVS). Aliniem la productie.
 * Specificitate (0,5,0)+ ca sa batem CSS-ul default WVS fara !important.
 * ============================================================ */
.woocommerce .variations .variable-items-wrapper.button-variable-items-wrapper{
  display:flex; flex-wrap:wrap; gap:12px; margin:0; padding:0; list-style:none;
  /* BUG FIX: WVS pune pe swatch-ul SELECTAT background:var(--wvs-selected-item-background-color,#fff)
     cu specificitate 0,7,0 (bate regula noastra 0,5,0) -> ramanea ALB + textul nostru alb = invizibil.
     Setam variabila WVS la auriu -> fundal auriu + text alb = vizibil. */
  --wvs-selected-item-background-color: var(--lagoon-gold);
}
.woocommerce .variations .variable-items-wrapper .variable-item.button-variable-item{
  width:auto; min-width:0; max-width:none; height:auto; min-height:54px; margin:0;
  padding:14px 26px; border:2px solid var(--lagoon-gold); border-radius:14px;
  background:#fff; box-shadow:none; display:inline-flex; align-items:center; justify-content:center;
  transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.woocommerce .variations .variable-items-wrapper .variable-item.button-variable-item .variable-item-span{
  font-size:16px; font-weight:600; line-height:1.3; color:var(--lagoon-gold-dark); white-space:normal; word-break:break-word; overflow-wrap:anywhere; min-width:0;
}
/* FIX overflow mobil: eticheta lunga se rupe pe randuri in chenar (era white-space:nowrap).
   .variable-item-contents = wrapper flex WVS -> min-width:0 ca textul sa se poata strange. */
.woocommerce .variations .variable-items-wrapper .variable-item.button-variable-item .variable-item-contents{
  min-width:0;
}
@media (max-width:768px){
  .woocommerce .variations .variable-items-wrapper .variable-item.button-variable-item{
    flex:1 1 100%; justify-content:flex-start; padding:12px 18px;
  }
}
.woocommerce .variations .variable-items-wrapper .variable-item.button-variable-item:hover{
  background:#faf7f1; border-color:var(--lagoon-gold);
}
.woocommerce .variations .variable-items-wrapper .variable-item.button-variable-item.selected{
  border-color:var(--lagoon-gold-dark); background:var(--lagoon-gold);
}
.woocommerce .variations .variable-items-wrapper .variable-item.button-variable-item.selected .variable-item-span{
  color:#fff;
}

/* Produse similare / Upsells (sub produs, ex pagina Card Cadou): carduri cu CHENAR brand,
   consistent cu restul site-ului (cardurile de oferta .lsp-page au chenar auriu). Default
   Storefront le lasa fara chenar. box-sizing:border-box -> nu strica latimile din grila. */
.woocommerce .related.products ul.products li.product,
.woocommerce .up-sells ul.products li.product{
  box-sizing:border-box; border:1px solid var(--lagoon-gold); border-radius:14px;
  background:#fff; padding:16px; box-shadow:0 2px 10px rgba(0,0,0,.04);
  transition:box-shadow .2s ease;
}
.woocommerce .related.products ul.products li.product:hover,
.woocommerce .up-sells ul.products li.product:hover{ box-shadow:0 8px 22px rgba(140,115,74,.16); }
.woocommerce .related.products ul.products li.product img,
.woocommerce .up-sells ul.products li.product img{ border-radius:8px; }

/* ============================================================
 * HEADER FIX (sticky) pe desktop + mobil, ca apple.com — ramane sus la scroll.
 * PROBLEMA: position:sticky se rupea fiindca ancestori (body/#page din Storefront,
 * .lsp-page din lsp.css) aveau overflow-x:hidden, care forteaza overflow-y:auto =
 * scroll container -> sticky se ancoreaza gresit. SOLUTIE: overflow-x:CLIP (previne
 * scroll orizontal FARA a crea scroll container) -> overflow-y ramane visible ->
 * sticky se ancoreaza la viewport. style.css incarca dupa Storefront (deci bate
 * body/#page) iar `body .lsp-page` (0,1,1) bate `.lsp-page` (0,1,0) din lsp.css. */
html{ overflow-x:clip; }
html body{ overflow-x:clip; }
html #page{ overflow-x:clip; }
body .lsp-page{ overflow-x:clip; }
#masthead.site-header{
  position:sticky; top:0; z-index:1000;
  background:rgba(255,255,255,.9);
  -webkit-backdrop-filter:saturate(180%) blur(18px);
  backdrop-filter:saturate(180%) blur(18px);
  box-shadow:0 1px 0 rgba(0,0,0,.06);
}

/* DESKTOP pagina Card Cadou (261660): nu e .lagoon-fullwidth -> prindea plafonul de
   tipografie `.entry-content{max-width:820px}` => continut INGUST lipit STANGA (x=188,
   gol dreapta 432px). Scoatem capul, largim col-full si centram wrapperul lb-voucher
   -> toate sectiunile lb-* se centreaza singure si se intind mai bine pe latime.
   (Mobil <=768 neatins.) */
@media (min-width:769px){
  body.page-id-261660 .entry-content{ max-width:none; width:100%; }
  body.page-id-261660 #content .col-full{ max-width:1200px; }
  body.page-id-261660 .lb-voucher{ max-width:1200px; margin-left:auto; margin-right:auto; }
  /* Produsul card cadou pe O SINGURA COLOANA (galerie sus, sumar full-width dedesubt) ->
     caruselul de modele (mutat sub pret) sta intr-un container centrat full-width si poate
     fi full-bleed corect. (In two-column era prins in coloana dreapta de 517px, off-center.) */
  body.page-id-261660 .single-product div.product .woocommerce-product-gallery,
  body.page-id-261660 .single-product div.product .summary.entry-summary{
    float:none; width:100%; clear:both;
  }
  body.page-id-261660 .single-product div.product .woocommerce-product-gallery{
    max-width:460px; margin:0 auto 22px;
  }
}
/* MOBIL pagina Card Cadou: spatiu pana la margine redus la ~20px (jumatate fata de ~39px
   gutter implicit .col-full 22.65 + .entry-content 16). Full-bleed entry-content la 20px. */
@media (max-width:768px){
  body.page-id-261660 .entry-content{
    margin-left:calc(50% - 50vw + 20px);
    margin-right:calc(50% - 50vw + 20px);
    padding-left:0; padding-right:0;
  }
}

/* Galeria de modele card cadou (#lb-design-gallery) = GRID (NU carusel):
   4 carduri/rand pe DESKTOP, 2 carduri/rand pe MOBIL. Aliniata cu continutul paginii
   (fara full-bleed). Cardurile umplu celula grid (fara latime fixa). */
#lb-design-gallery .lb-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:0;
}
@media (max-width:768px){
  #lb-design-gallery .lb-grid{ grid-template-columns:repeat(2,1fr); }
}
#lb-design-gallery .lb-card{
  cursor:pointer; border:3px solid #e3d9c3; border-radius:14px; overflow:hidden;
  background:#fff; box-shadow:0 4px 14px rgba(0,0,0,.07); transition:border-color .2s ease;
}
#lb-design-gallery .lb-card:hover{ border-color:var(--lagoon-gold); }
#lb-design-gallery .lb-card img{ width:100%; height:150px; object-fit:cover; display:block; background:#faf8f5; }
#lb-design-gallery .lb-card-cap{ font-size:13px; font-weight:600; text-align:center; padding:8px 4px; color:#2b2b2b; }

/* Card Cadou (261660): ascunde "Produse similare" + meta produs (SKU / Categorie).
   Scopat strict pe pagina (alte produse le pastreaza). */
body.page-id-261660 .related.products,
body.page-id-261660 .product_meta{ display:none; }

/* ============================================================
 * ALINIERE PAGINI SERVICIU cu productia (migrarea aplatizase imaginile la
 * `alignleft/aligncenter size-medium` fara coloane -> ieseau full-width/inegale).
 * Clasele .lb-* (lb-hero-img, lb-imrow, lb-imcol, lb-imcap) sunt GENERICE (puse manual
 * in continut) -> reutilizabile pe orice pagina. Regulile per-pagina (ascunde featured
 * banner + plafon imagini loose) sunt grupate pe page-id. (Pattern: remodelare 251040,
 * criolipoliza 256123, etc.)
 * ============================================================ */
/* Hero full-width (clasa pusa in continut, ex velashape la remodelare) */
.lsp-page figure.lb-hero-img{ float:none; width:100%; max-width:100%; margin:0 0 22px; }
.lsp-page figure.lb-hero-img img{ width:100%; height:auto; display:block; }
/* Perechi imagini in RAND FLEX EGAL (before|after) ca productia; pe mobil stivuite. */
.lb-imrow{ display:flex; gap:20px; align-items:flex-start; margin:0 0 18px; clear:both; }
.lb-imrow > *{ flex:1 1 0; min-width:0; }
.lb-imrow figure{ float:none; width:auto; max-width:100%; margin:0; }
.lb-imrow figure img{ width:100%; height:auto; display:block; }
.lb-imcap{ text-align:center; font-weight:600; color:var(--lagoon-gold-dark); margin:6px 0 0; }
@media (max-width:768px){ .lb-imrow{ flex-direction:column; } }
/* Per-pagina: ascunde featured banner (productia n-are) */
/* Ascunde featured banner pe paginile serviciu unde PRODUCTIA n-are hero (audit CDP:
   prod n-are hero pe niciuna in afara de 252271 radiofrecventa-faciala -> acolo il pastram). */
body.page-id-251040 .entry-header img.wp-post-image,
body.page-id-256123 .entry-header img.wp-post-image,
body.page-id-260512 .entry-header img.wp-post-image,
body.page-id-259994 .entry-header img.wp-post-image,
body.page-id-258477 .entry-header img.wp-post-image,
body.page-id-257643 .entry-header img.wp-post-image,
body.page-id-257343 .entry-header img.wp-post-image,
body.page-id-256724 .entry-header img.wp-post-image,
body.page-id-252268 .entry-header img.wp-post-image,
body.page-id-251489 .entry-header img.wp-post-image,
body.page-id-251217 .entry-header img.wp-post-image,
body.page-id-429 .entry-header img.wp-post-image{ display:none; }
/* GENERAL pt TOATE paginile serviciu: imaginile loose (alignleft/aligncenter/alignright)
   din continutul aplatizat la dim NATIVA plafonata 520px, centrate (regulile globale
   float-fix le intindeau full-width -> upscale urat). NU afecteaza .lb-imrow (acolo scoatem
   alignleft), nici .lsp-offer__img (carduri oferta), nici thumbs .lsp-tech. */
/* SPLIT text+poza ca pe PRODUCTIE: imaginile alignleft/alignright FLOATEAZA (textul curge
   langa = split, poza NU izolata intr-un card). aligncenter ramane centrat. Pe mobil totul
   stivuit (fara float). Float-urile sunt continute de .lsp-section{flow-root}. */
.lsp-page figure.wp-block-image.alignleft,
.lsp-page figure.wp-block-image.aligncenter,
.lsp-page figure.wp-block-image.alignright{ float:none; margin:0 auto 16px; text-align:center; }
.lsp-page figure.wp-block-image.alignleft img,
.lsp-page figure.wp-block-image.aligncenter img,
.lsp-page figure.wp-block-image.alignright img{ width:auto; max-width:520px; height:auto; margin:0 auto; }
@media (max-width:768px){
  .lsp-page figure.wp-block-image.alignleft,
  .lsp-page figure.wp-block-image.alignright{ float:none; max-width:100%; margin:0 auto 16px; text-align:center; }
  .lsp-page figure.wp-block-image.alignleft img,
  .lsp-page figure.wp-block-image.alignright img{ width:auto; max-width:100%; margin:0 auto; }
}
/* Imaginile din cardurile de oferta/pachet se INCADREAZA in card (nu ies din chenar):
   regula globala de mai sus le facea 520px -> depaseau cardul ingust (~270px) si ieseau
   in dreapta. In interiorul .lsp-offer/.lsp-tech poza umple latimea cardului, fara float. */
.lsp-page .lsp-offer figure.wp-block-image,
.lsp-page .lsp-tech figure.wp-block-image{ float:none; width:auto; max-width:100%; margin:0 0 12px; text-align:center; border-radius:10px; overflow:hidden; }
.lsp-page .lsp-offer figure.wp-block-image.alignleft img,
.lsp-page .lsp-offer figure.wp-block-image.aligncenter img,
.lsp-page .lsp-offer figure.wp-block-image.alignright img,
.lsp-page .lsp-tech figure.wp-block-image.alignleft img,
.lsp-page .lsp-tech figure.wp-block-image.aligncenter img,
.lsp-page .lsp-tech figure.wp-block-image.alignright img{ width:100%; max-width:100%; height:auto; margin:0; display:block; object-fit:cover; }
/* Cardurile .lsp-card INGUSTE (grid pe coloane, ~270-370px) pot contine o imagine pe care
   regula globala o face 520px -> depaseste cardul. O limitam la latimea cardului. Folosim
   doar max-width:100% (NU width:100%) ca sa nu intindem imaginile de 520px din cardurile
   LATE (1152px), unde 520px e corect si centrat. */
.lsp-page .lsp-card figure.wp-block-image{ max-width:100%; }
.lsp-page .lsp-card figure.wp-block-image.alignleft img,
.lsp-page .lsp-card figure.wp-block-image.aligncenter img,
.lsp-page .lsp-card figure.wp-block-image.alignright img{ max-width:100%; height:auto; }
/* Poza sa NU fie incadrata intr-un card: scoatem chenarul de la .lsp-card care contine
   DOAR imagine (fara text/heading); cardurile de oferta/tech raman neatinse. */
.lsp-page .lsp-card:has(figure.wp-block-image):not(:has(p)):not(:has(h2)):not(:has(h3)):not(:has(ul)):not(.lsp-offer):not(.lsp-tech){
  border:0; box-shadow:none; background:transparent; padding:0;
}

/* Hero CUTOUT vertical (centrat, latime limitata) - ex venus-legacy-hero-nobg la radiofrecventa-corporala.
   Spre deosebire de lb-hero-img (banner full-width), cutout-ul vertical se afiseaza centrat si capat. */
.lsp-page figure.lb-hero-cutout{ margin:8px auto 18px; max-width:420px; text-align:center; }
.lsp-page figure.lb-hero-cutout img{ width:100%; height:auto; display:block; margin:0 auto; }
@media (max-width:768px){ .lsp-page figure.lb-hero-cutout{ max-width:340px; } }

/* Mesaj eroare checkout (ex. termeni & conditii nebifate): fond ALB lizibil cu text rosu inchis,
   in loc de fundal rosu cu text argintiu greu de citit. Ramane semnal de eroare (bordura rosie). */
.woocommerce-error,
.woocommerce-page .woocommerce-error,
.woocommerce-checkout .woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-error{
	background-color:#fff !important;
	color:#a4161a !important;
	border:1px solid #a4161a;
	border-left:4px solid #a4161a;
	text-shadow:none !important;
}
.woocommerce-error li,
.woocommerce-error a,
.woocommerce-error::before{ color:#a4161a !important; }

/* ===== Blog grid (LB-BLOG-GRID — inlocuieste modulul Divi et_pb_blog) ===== */
.lsp-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1200px;margin:30px auto;padding:0 20px;}
.lsp-blog-card{background:#fff;border:1px solid #ece7df;border-radius:10px;overflow:hidden;transition:box-shadow .2s ease,transform .2s ease;}
.lsp-blog-card:hover{box-shadow:0 10px 30px rgba(52,41,41,.10);transform:translateY(-3px);}
.lsp-blog-card__link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit;}
.lsp-blog-card__media{overflow:hidden;}
.lsp-blog-card__media img{width:100%;height:200px;object-fit:cover;display:block;transition:transform .3s ease;}
.lsp-blog-card:hover .lsp-blog-card__media img{transform:scale(1.04);}
.lsp-blog-card__body{padding:22px;display:flex;flex-direction:column;flex:1;}
.lsp-blog-card__title{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;line-height:1.25;color:#342929;margin:0 0 8px;font-weight:600;}
.lsp-blog-card__meta{font-family:"Montserrat",Arial,sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#8c734a;margin-bottom:12px;}
.lsp-blog-card__excerpt{font-family:"Lato",Arial,sans-serif;font-size:.95rem;line-height:1.7;color:#5b5b5b;margin:0 0 16px;flex:1;}
.lsp-blog-card__more{font-family:"Montserrat",Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#8c734a;margin-top:auto;}
.lsp-blog-card--noimg .lsp-blog-card__body{padding-top:26px;}
@media(max-width:980px){.lsp-blog-grid{grid-template-columns:repeat(2,1fr);gap:20px;}}
@media(max-width:600px){.lsp-blog-grid{grid-template-columns:1fr;}.lsp-blog-card__media img{height:190px;}}

/* ===== Homepage hero banner (CONSOLIDAT — o singură definiție, fără dubluri) ===== */
.lgn-hero__banner{ max-width:1120px; width:100%; margin:0 auto 14px; display:block; }
.lgn-hero__banner img{ width:100%; max-width:100%; height:auto; border-radius:16px; display:block; }
.home .lgn-hero__eyebrow, .home .lgn-hero__title, .home .lgn-hero__lead{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
/* Hero mobil: elimin tot spațiul Storefront dintre header și hero (homepage) */
@media(max-width:768px){
  .home .site-header, .home #masthead, .home .lgn-header, .home header.lgn-header{ margin-bottom:0 !important; }
  .home #content, .home .site-content, .home .col-full, .home .content-area{ padding-top:0 !important; margin-top:0 !important; }
  .home .lgn-hero{ padding-top:0 !important; }
  .lgn-hero__banner{ margin-top:0; }
}

/* ============================================================
 * CAUTARE MOBIL (lupa langa hamburger + panou Ivory Search). Doar mobil.
 * ============================================================ */
.lb-msearch-btn{ display:none; }
@media (max-width:768px){
  .lb-msearch-btn{
    display:inline-flex; align-items:center; justify-content:center;
    width:44px; height:44px; padding:0; margin:0 4px 0 0;
    background:transparent; border:0; color:#8c734a; cursor:pointer; vertical-align:middle;
  }
  .lb-msearch-btn svg{ display:block; }
  #lb-msearch-panel{ background:#fff; box-shadow:0 6px 18px rgba(0,0,0,.12); padding:14px 16px; }
  #lb-msearch-panel .lb-msearch-inner{ max-width:680px; margin:0 auto; }
  #lb-msearch-panel input[type=search], #lb-msearch-panel input[name=s]{ width:100%; box-sizing:border-box; }
}
#lb-msearch-panel[hidden]{ display:none; }
@media (min-width:769px){ #lb-msearch-panel{ display:none !important; } }

/* Ascunde lupa de search DOAR pe pagina de checkout (nu si pe cart / restul) */
.woocommerce-checkout #site-navigation .lb-msearch-btn,
.woocommerce-checkout .lb-msearch-btn{ display:none !important; }

/* Elimina flash-ul/chenarul gri la tap pe mobil pe elementele interactive.
   -webkit-tap-highlight-color afecteaza DOAR culoarea de tap (cosmetic), nu layout-ul. */
a, button, input[type=submit], input[type=button], .button, .menu-toggle{ -webkit-tap-highlight-color:transparent; }
/* Fara outline la tap/mouse pe header + link-urile din meniu; pastrat la tastatura (:focus-visible) pt accesibilitate. */
.lb-msearch-btn:focus:not(:focus-visible), .lb-msearch-btn:active,
.lb-msearch-close:focus:not(:focus-visible), .lb-msearch-close:active,
.site-branding a.custom-logo-link:focus:not(:focus-visible), .site-branding a.custom-logo-link:active,
.main-navigation a:focus:not(:focus-visible), .main-navigation a:active,
#site-navigation a:focus:not(:focus-visible), #site-navigation a:active{ outline:0; box-shadow:none; }

/* ALINIERE: lupa pe ACELASI rand cu logo + hamburger (mobil). Lupa = 36px (ca logo),
 * vertical-align:middle pe lupa SI hamburger -> centrele coincid pe linie. */
@media (max-width:768px){
  #site-navigation .lb-msearch-btn{
    display:inline-flex !important; align-items:center !important; justify-content:center !important;
    width:36px !important; height:36px !important; min-height:0 !important; max-height:36px !important;
    padding:0 !important; margin:0 8px 0 0 !important; border:0 !important;
    background:transparent !important; line-height:0 !important; vertical-align:middle !important;
  }
  #site-navigation .lb-msearch-btn svg{ width:24px !important; height:24px !important; display:block !important; }
  #site-navigation .menu-toggle{ vertical-align:middle !important; }
}

/* CAUTARE MOBIL: buton inchidere (X) + mesaj "tasteaza ce vrei sa cauti" la submit gol. */
#lb-msearch-panel{ position:relative; }
#lb-msearch-panel .lb-msearch-inner{ display:flex; align-items:center; gap:10px; }
#lb-msearch-panel form.is-search-form{ flex:1 1 auto; min-width:0; margin:0; }
#lb-msearch-panel .lb-msearch-close{
  flex:0 0 auto; width:38px; height:38px; padding:0; border:0; background:transparent;
  font-size:30px; line-height:1; color:#8c734a; cursor:pointer;
}
#lb-msearch-panel .lb-msearch-msg{ display:none; margin:8px 2px 0; color:#b00020; font-size:13px; font-weight:600; }
#lb-msearch-panel.lb-msearch-show-msg .lb-msearch-msg{ display:block; }

/* ===== LOGO: inele SVG pe mobil, wordmark PNG pe desktop (o singură definiție) ===== */
.lb-mobile-logo{ display:none; }
@media (max-width:768px){
  /* ascunde wordmark-ul desktop (orice img din logo care NU e cel mobil), indiferent de clasă */
  .site-branding a.custom-logo-link img:not(.lb-mobile-logo){ display:none !important; }
  .site-branding a.custom-logo-link img.lb-mobile-logo{ display:inline-block !important; width:52px; height:36px; vertical-align:middle; }
  .site-branding a.custom-logo-link{ background-image:none !important; width:auto !important; height:auto !important; }
}

/* ============================================================
 * Card Cadou: FARA optiunea de programare a trimiterii.
 * Camp "Data Livrare" ascuns -> valoare goala -> plugin trimite
 * implicit IMEDIAT ("Acum"). Scoped STRICT pe paginile Card Cadou
 * (landing page-id-261660 + pagina produs postid-261672).
 * ============================================================ */
body.page-id-261660 #pwgc-form-delivery-date,
body.postid-261672 #pwgc-form-delivery-date{ display:none; }
