/* =========================================================================
   PARFUMURI CLUB — REDESIGN peste tema basel (OpenCart 2.3)
   Reproduce look-ul din machetele proiectului, ca strat peste basel.
   Se încarcă DUPĂ stylesheet-ul basel (link adăugat în header.tpl).
   Folosit pe tema "base_v2" = copie a lui basel + aceste modificări.
   ========================================================================= */
:root{
  --pc-ink:#1A1720; --pc-ink-soft:#2A2630; --pc-rose:#C2657A; --pc-blush:#F4DCD9;
  --pc-blush-deep:#E9C2BF; --pc-green:#2E7D5B; --pc-gold:#B2904E; --pc-cream:#FBF8F4;
  --pc-line:#ECE5DD; --pc-muted:#857F8A;
}

/* fontul ORIGINAL basel (Karla) — doar marim putin dimensiunea pe tot site-ul */
body{ font-size:15.5px !important; line-height:1.6 !important; }
.single-product .product-name{ font-size:15px; }
#product .qty, .product-info .price{ font-size:16px; }
@media (max-width:767px){ body{ font-size:15px !important; } }

/* === butoane PRODUS: "Adauga in Cos" + "Comanda Rapida" egale, full width === */
#button-cart, #button-cart2{
  display:flex !important; align-items:center; justify-content:center; gap:8px;
  width:100% !important; max-width:100% !important; box-sizing:border-box;
  margin:0 0 10px !important; padding:15px 18px !important;
  font-size:16px !important; font-weight:600 !important; letter-spacing:.02em;
  border-radius:999px !important; text-align:center; }
#button-cart{ background:var(--pc-ink) !important; border-color:var(--pc-ink) !important; color:#fff !important; }
#button-cart:hover{ background:#000 !important; }
#button-cart2{ background:var(--pc-rose) !important; border-color:var(--pc-rose) !important; color:#fff !important; }
#button-cart2:hover{ filter:brightness(.94); }
#button-cart i, #button-cart2 i{ font-size:1.2rem !important; margin:0 !important; }

/* =========================================================================
   1) MOBIL — 2 produse pe rând + padding lateral MIC
   ========================================================================= */
@media (max-width: 767px){
  .container{ padding-left:8px !important; padding-right:8px !important; }
  /* 2 produse pe rand cu SPATIU intre ele (grid + gap) — categorie SI index (modulul de produse) */
  .grid-holder.product-holder,
  .grid-holder[class*="prod_module"]:not(.carousel){ display:grid !important; grid-template-columns:1fr 1fr; gap:10px !important; margin:0 !important; }
  .grid-holder.product-holder .item.single-product,
  .grid-holder[class*="prod_module"]:not(.carousel) .item.single-product{ width:auto !important; margin:0 !important; padding:0 !important; float:none !important; }
  .single-product .caption{ padding-left:8px !important; padding-right:8px !important; }
}
@media (max-width: 480px){
  .single-product .btn.catalog_hide{ padding:9px 6px; letter-spacing:0; }
  .single-product .plain-links{ display:none; }
}

/* =========================================================================
   2) CARD PRODUS — reskin în stilul mockup-ului (păstrează funcțiile basel)
   ========================================================================= */
.grid-holder.product-holder .item.single-product{ }
.single-product{
  background:#fff; border:1px solid var(--pc-line); border-radius:14px;
  overflow:hidden; transition:.22s; }
.single-product:hover{ box-shadow:0 10px 30px rgba(26,23,32,.08); transform:translateY(-3px); }
.single-product .image{ background:#fff; padding:16px; }
.single-product .caption{ text-align:center; padding:14px 16px 16px; }
/* product-name ramane cu fontul/marimea ORIGINALA basel (fara override) */
.single-product .rating .rating_stars{ color:var(--pc-gold); }
.single-product .price-wrapper{ margin-top:6px; }
.single-product .price-old{ color:var(--pc-muted); text-decoration:line-through; font-size:14px; }
.single-product .price-new{ color:var(--pc-ink); font-weight:700; font-size:22px; margin-left:6px; }
.single-product .btn.catalog_hide,
.single-product .price-wrapper .btn{
  background:var(--pc-ink) !important; color:#fff !important; border:none !important;
  border-radius:999px !important; width:100%; padding:11px; font-weight:500; letter-spacing:.04em;
  margin-top:10px; }
.single-product .price-wrapper .btn:hover{ background:var(--pc-rose) !important; }
.single-product .badge.sale_badge{ background:var(--pc-rose) !important; border-radius:999px; }

/* =========================================================================
   3) BUTOANE generale + titluri pagină
   ========================================================================= */
.btn-primary, #button-cart.btn-primary{ background:var(--pc-ink) !important; border-color:var(--pc-ink) !important; border-radius:999px !important; }
.btn-primary:hover, #button-cart.btn-primary:hover{ background:#000 !important; }
.btn-contrast, a.btn-contrast, .btn-contrasta, a.btn-contrasta{ background-color:var(--pc-rose) !important; border-radius:999px !important; }
/* titlurile de pagina raman cu stilul/culoarea ORIGINALA basel (nu le mai fortam) */

/* =========================================================================
   4) BARĂ DE ÎNCREDERE (sus, toate paginile)  -> .pc-trustbar (header.tpl)
   ========================================================================= */
.pc-trustbar{ background:var(--pc-ink); color:#fff; font-size:13px; }
.pc-trustbar .pc-in{ max-width:1240px; margin:0 auto; display:flex; justify-content:center; gap:30px; padding:9px 14px; flex-wrap:wrap; }
.pc-trustbar span{ display:inline-flex; align-items:center; gap:7px; opacity:.95; }
.pc-trustbar b{ color:var(--pc-blush); font-weight:600; }
@media (max-width:767px){
  .pc-trustbar .pc-in{ justify-content:flex-start; gap:18px; flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; white-space:nowrap; }
}

/* =========================================================================
   5) HOME — hero ofertă, USP, dale, bundle, recenzii  (markup în home.tpl)
   ========================================================================= */
.pc-wrap{ max-width:1240px; margin:0 auto; padding:0 15px; }
.pc-hero{ background:linear-gradient(120deg,#211d28,#3a2f3a); color:#fff; border-radius:16px; margin:18px auto; padding:46px 24px; text-align:center; }
.pc-hero-in{ max-width:680px; margin:0 auto; }
.pc-hero .eyebrow{ font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--pc-blush-deep); }
.pc-hero h2{ font-size:42px; color:#fff !important; margin:10px 0; line-height:1.1; }
.pc-hero h2 em{ color:var(--pc-blush-deep); font-style:italic; }
.pc-hero p{ opacity:.9; font-size:17px; max-width:540px; margin:0 auto; }
.pc-hero p b{ color:#fff; }
.pc-hero .cta{ display:flex; gap:12px; margin-top:22px; flex-wrap:wrap; justify-content:center; }
.pc-hero .cta a{ border-radius:999px; padding:13px 28px; font-weight:600; }
.pc-hero .cta .a1{ background:var(--pc-rose); color:#fff; }
.pc-hero .cta .a2{ border:1.5px solid rgba(255,255,255,.5); color:#fff; }
.pc-usp2{ max-width:1240px; margin:18px auto; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.pc-usp2 .u{ display:flex; align-items:center; gap:11px; background:#fff; border:1px solid var(--pc-line); border-radius:12px; padding:14px 16px; }
.pc-usp2 .u .ic{ font-size:22px; }
.pc-usp2 .u b{ display:block; color:var(--pc-ink); font-size:14px; }
.pc-usp2 .u small{ color:var(--pc-muted); font-size:12px; }
.pc-bundle2{ background:linear-gradient(110deg,var(--pc-blush),#f6e7e0); border-radius:14px; max-width:1240px; margin:24px auto; padding:22px 26px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.pc-bundle2 .t strong{ font-size:22px; color:var(--pc-ink); display:block; }
.pc-bundle2 .t b{ color:var(--pc-rose); }
.pc-bundle2 a{ background:var(--pc-ink); color:#fff !important; padding:13px 26px; border-radius:999px; font-weight:600; white-space:nowrap; }
@media (max-width:767px){
  .pc-hero{ grid-template-columns:1fr; text-align:center; padding:34px 18px; margin:12px 8px; }
  .pc-hero h2{ font-size:34px; }
  .pc-usp2{ grid-template-columns:1fr 1fr; gap:8px; padding:0 8px; }
  .pc-bundle2{ margin:16px 8px; padding:18px; }
}

/* =========================================================================
   6) CATEGORIE — intro vânzare
   ========================================================================= */
.pc-cat-intro{ background:#fff; border:1px solid var(--pc-line); border-left:4px solid var(--pc-rose); border-radius:10px; padding:14px 18px; margin:0 0 18px; color:#444; font-size:14.5px; }
.pc-cat-intro b{ color:var(--pc-ink); }

/* =========================================================================
   7) PRODUS — bloc încredere / COD / bundle  (markup în product.tpl)
   ========================================================================= */
.pc-prodtrust{ margin:16px 0; display:grid; gap:10px; border:1px solid var(--pc-line); border-radius:14px; padding:14px; background:var(--pc-cream); }
.pc-cod{ display:flex; align-items:center; gap:10px; background:#eef7f1; border:1px solid #cfe8d9; color:#1f5e44; border-radius:12px; padding:12px 15px; font-size:14px; }
.pc-cod .ic{ font-size:20px; }
.pc-bundlenudge{ display:flex; align-items:center; gap:10px; background:var(--pc-blush); border-radius:12px; padding:12px 15px; font-size:14px; color:var(--pc-ink); }
.pc-trustrow{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
/* carduri uniforme, centrate — acelasi aspect indiferent de marimea emoji-ului */
.pc-trustrow .b{ display:flex; flex-direction:column; align-items:center; justify-content:flex-start; text-align:center; gap:4px; background:#fff; border:1px solid var(--pc-line); border-radius:12px; padding:14px 10px; font-size:13px; color:#555; }
.pc-trustrow .b i{ display:flex; align-items:center; justify-content:center; width:38px; height:38px; font-style:normal; font-size:20px; line-height:1; color:var(--pc-rose); background:var(--pc-blush); border-radius:50%; margin-bottom:2px; }
.pc-trustrow .b span{ display:block; line-height:1.35; }
.pc-trustrow .b b{ display:block; color:var(--pc-ink); font-size:13.5px; margin-bottom:1px; }
@media (max-width:767px){ .pc-trustrow{ grid-template-columns:1fr 1fr; gap:8px; } .pc-trustrow .b{ font-size:12px; padding:12px 8px; } .pc-trustrow .b b{ font-size:12.5px; } }

/* ============================================================
   v2 — spatiere carduri, bara mobil, recenzii frumoase, responsive
   ============================================================ */

/* --- SPATIU intre produse pe DESKTOP (categorie + modul index) ---
   grid real cu gap pe orizontala SI verticala, respectand nr. de coloane
   din basel (grid2/3/4/5). Se sare peste carusel (slick) ca sa nu il strice. */
@media (min-width:768px){
  .grid-holder.product-holder.grid2,
  .grid-holder[class*="prod_module"].grid2:not(.slick-slider):not(.slick-initialized){ grid-template-columns:repeat(2,1fr); }
  .grid-holder.product-holder.grid3,
  .grid-holder[class*="prod_module"].grid3:not(.slick-slider):not(.slick-initialized){ grid-template-columns:repeat(3,1fr); }
  .grid-holder.product-holder.grid4,
  .grid-holder[class*="prod_module"].grid4:not(.slick-slider):not(.slick-initialized){ grid-template-columns:repeat(4,1fr); }
  .grid-holder.product-holder.grid5,
  .grid-holder[class*="prod_module"].grid5:not(.slick-slider):not(.slick-initialized){ grid-template-columns:repeat(5,1fr); }
  .grid-holder.product-holder[class*="grid"],
  .grid-holder[class*="prod_module"][class*="grid"]:not(.slick-slider):not(.slick-initialized){
    display:grid !important; gap:24px !important; margin:0 0 10px !important; }
  .grid-holder.product-holder[class*="grid"] .item.single-product,
  .grid-holder[class*="prod_module"][class*="grid"]:not(.slick-slider):not(.slick-initialized) .item.single-product{
    width:auto !important; margin:0 !important; padding:0 !important; float:none !important; }
}
@media (max-width:767px){ .single-product{ border-radius:12px; } }

/* --- BARA DE SUS: pe mobil doar "Livrare GRATUITA la 2 produse" --- */
@media (max-width:767px){
  .pc-trustbar .pc-in{ justify-content:center !important; gap:0 !important; overflow:visible !important; white-space:normal !important; flex-wrap:wrap; padding:8px 12px; }
  .pc-trustbar span:not(.pc-tb-keep){ display:none !important; }
  .pc-trustbar .pc-tb-keep{ text-align:center; font-size:13px; }
}
.pc-trustbar .pc-tb-keep b{ color:#fff; }

/* --- RECENZII (design premium): scor mare + bare pe stele --- */
.pc-revbox{ background:linear-gradient(180deg,#fff,#fbf8f4); border:1px solid var(--pc-line); border-radius:18px; padding:30px; margin:24px 0; display:grid; grid-template-columns:240px 1fr; gap:34px; align-items:center; box-shadow:0 10px 30px rgba(26,23,32,.05); }
.pc-revbox .score{ text-align:center; position:relative; padding-right:24px; }
.pc-revbox .score::after{ content:""; position:absolute; right:0; top:6px; bottom:6px; width:1px; background:var(--pc-line); }
.pc-revbox .score .big{ font-size:62px; font-weight:800; color:var(--pc-ink); line-height:1; letter-spacing:-1px; }
.pc-revbox .score .big sub{ font-size:22px; font-weight:600; color:var(--pc-muted); vertical-align:baseline; }
.pc-revbox .score .stars{ color:var(--pc-gold); letter-spacing:3px; font-size:20px; margin:8px 0 4px; }
.pc-revbox .score small{ display:block; color:var(--pc-muted); font-size:13px; }
.pc-revbox .bars .row{ display:flex; align-items:center; gap:12px; margin:9px 0; font-size:13px; color:var(--pc-muted); }
.pc-revbox .bars .row .lbl{ width:34px; color:var(--pc-ink); font-weight:600; white-space:nowrap; }
.pc-revbox .bars .track{ flex:1; height:9px; background:#efe7df; border-radius:99px; overflow:hidden; }
.pc-revbox .bars .track i{ display:block; height:100%; background:linear-gradient(90deg,#d8b25e,var(--pc-gold)); border-radius:99px; }
.pc-revbox .bars .row > span:last-child{ width:38px; text-align:right; font-variant-numeric:tabular-nums; color:var(--pc-ink); font-weight:600; }
.pc-revbox .vbadge{ display:inline-flex; align-items:center; gap:7px; background:#eef7f1; border:1px solid #cfe8d9; color:var(--pc-green); font-size:12.5px; font-weight:600; padding:6px 12px; border-radius:99px; margin-top:14px; }
@media (max-width:767px){ .pc-revbox{ grid-template-columns:1fr; gap:18px; padding:20px; border-radius:14px; } .pc-revbox .score{ padding-right:0; padding-bottom:18px; } .pc-revbox .score::after{ left:0; right:0; top:auto; bottom:0; width:auto; height:1px; } .pc-revbox .score .big{ font-size:52px; } }

/* lista de review-uri — fara poza de profil, aspect curat */
#review .table{ display:block; border:1px solid var(--pc-line); border-radius:12px; padding:14px 16px; margin-bottom:12px; background:#fff; }
#review .table-cell{ display:block; width:auto; text-align:left; float:none; }
#review .author{ color:var(--pc-ink); margin-bottom:4px; }
#review .author b{ color:var(--pc-ink); }
#review .rating_stars{ color:var(--pc-gold); }

/* ===== POPUP COS (apc) — butoane +/- mai mici, gri, centrate cu cantitatea ===== */
.apc-qty-group{ white-space:nowrap; }
.apc-qty-group .apc-qty-group-btn{ display:inline-block !important; vertical-align:middle !important; float:none !important; width:auto !important; }
.apc-qty-group .apc-btn-minus,
.apc-qty-group .apc-btn-plus{
  display:inline-block !important; vertical-align:middle !important;
  width:30px !important; height:30px !important; min-width:0 !important;
  padding:0 !important; margin:0 !important; line-height:30px !important; text-align:center !important;
  background:#ececec !important; border:1px solid #d4d4d4 !important; color:#333 !important;
  border-radius:6px !important; box-shadow:none !important; }
.apc-qty-group .apc-btn-minus:hover,
.apc-qty-group .apc-btn-plus:hover{ background:#dedede !important; color:#000 !important; }
.apc-qty-group .apc-btn-minus i,
.apc-qty-group .apc-btn-plus i{ font-size:13px !important; line-height:30px !important; color:#333 !important; margin:0 !important; }
.apc-qty-group .apc-qty-input{
  display:inline-block !important; vertical-align:middle !important;
  width:46px !important; height:30px !important; text-align:center !important;
  padding:0 4px !important; margin:0 6px !important;
  border:1px solid #d4d4d4 !important; border-radius:6px !important;
  -moz-appearance:textfield; box-shadow:none !important; }
.apc-qty-group .apc-qty-input::-webkit-outer-spin-button,
.apc-qty-group .apc-qty-input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

/* dovada sociala in hero */
.pc-hero-proof{ margin-top:16px; font-size:13.5px; color:#fff; opacity:.9; }
.pc-hero-proof b{ color:#fff; }

/* asigura ca imaginea cardului scaleaza in coloana (2/rand sigur pe mobil) */
.single-product .image img{ max-width:100%; height:auto; }

/* box-sizing pe carduri ca 2/rand sa nu fie depasit de padding (sigur si fara CSS-ul de baza basel) */
.grid-holder.product-holder .item{ box-sizing:border-box; }

/* ===== ascunde slideshow-ul basel (master-slider) — pe home ramane doar hero + produse ===== */
.widget:has(> .master-slider){ display:none !important; }
#masterslider1, [id^="masterslider"]{ display:none !important; }
.master-slider{ display:none !important; }

/* pe home ascundem breadcrumb-ul gol (hero-ul e deasupra produselor) */
.common-home .breadcrumb-holder{ display:none; }

/* ===== index: doar FEMEI + BARBATI, aliniate, aceeasi inaltime =====
   (flex pe rand + ascundem pseudo-elementele .row::before/::after care
    creau "blocul gol"; scoatem blocul 3 "CALITATE GARANTATA") */
.common-home .cm_module .cm_content .row{ display:flex; flex-wrap:wrap; gap:20px; margin:0; }
.common-home .cm_module .cm_content .row::before,
.common-home .cm_module .cm_content .row::after{ display:none !important; content:none !important; }
.common-home .cm_module .cm_column{ float:none !important; width:calc(50% - 10px) !important; padding:0 !important; margin:0 !important; }
.common-home .cm_module .cm_column:nth-child(3){ display:none !important; }
/* lant de inaltimi 100% ca blocurile sa fie egale */
.common-home .cm_module .cm_item_wrapper,
.common-home .cm_module .cm_item,
.common-home .cm_module .bordered-item-block{ height:100%; }
.common-home .cm_module .bordered-item-block{ display:flex; flex-direction:column; }
.common-home .cm_module .bordered-item-block img{ width:100%; height:auto; }
.common-home .cm_module .bordered-content{ flex:1 0 auto; }
.common-home .cm_module .btn-contrast{ margin-top:auto; align-self:center; }
@media (max-width:767px){
  .common-home .cm_module .cm_content .row{ gap:10px; }
  .common-home .cm_module .cm_column{ width:calc(50% - 5px) !important; }
  .cm_module .bordered-content h5{ font-size:14px; margin-bottom:6px; }
  .cm_module .bordered-content p{ font-size:12px; line-height:1.4; }
  .cm_module .btn-contrast{ padding:9px 8px; font-size:12px; letter-spacing:0; }
  .cm_module .widget-title .sub-line span i{ font-size:15px !important; }
}
