/* ============================================================
   HORTISHOP — Blocksy child
   Paletă brand + stiluri pentru block patterns
   Raport: 70% gri/antracit · 20% alb · 10% verde
   ============================================================ */

:root {
  --hs-anthracite:   #2B2D31;
  --hs-steel:        #4B5563;
  --hs-green:        #4A9B5D;
  --hs-green-hover:  #3E8550;
  --hs-light-bg:     #F8FAF8;
  --hs-white:        #FFFFFF;
  --hs-sand:         #D4A574;
  --hs-text:         #111827;
  --hs-muted:        #6B7280;
  --hs-border:       #EEF0F2;
  --hs-overlay-hero: rgba(43, 45, 49, 0.72);
}

body { font-family: Inter, system-ui, -apple-system, sans-serif; color: var(--hs-text); }
h1, h2, h3, h4 { color: var(--hs-anthracite); letter-spacing: -0.01em; }

/* Gap explicit pe blocurile native Gutenberg (Buttons, Columns) — nu mai
   depindem de variabila globală --wp--style--block-gap, care poate fi
   afectată de setarea "Content Spacing" din Customizer și zerorizată
   accidental odată cu ea (stricând spațierea în tot site-ul: butoane,
   piloni, carduri de cifre, portofoliu etc). Regula asta e o plasă de
   siguranță, indiferent ce se schimbă în Customizer. */
.wp-block-buttons { gap: 14px; }
.wp-block-columns { gap: 24px; }

/* ---------- Butoane ---------- */
.hs-btn-primary .wp-block-button__link,
.wp-block-button.hs-btn-primary > .wp-block-button__link {
  background: var(--hs-green);
  color: var(--hs-white);
  border-radius: 12px;
  font-weight: 700;
  padding: 14px 22px;
  box-shadow: 0 12px 30px rgba(74, 155, 93, .28);
}
.hs-btn-primary .wp-block-button__link:hover { background: var(--hs-green-hover); }

.hs-btn-outline .wp-block-button__link {
  background: transparent;
  color: var(--hs-white);
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 12px;
  font-weight: 700;
  padding: 14px 22px;
}
.hs-btn-outline .wp-block-button__link:hover { background: var(--hs-white); color: var(--hs-anthracite); }

.hs-btn-premium .wp-block-button__link {
  background: var(--hs-sand);
  color: var(--hs-anthracite);
  border-radius: 12px;
  font-weight: 700;
  padding: 14px 22px;
}

/* Butonul de căutare din popup-ul Blocksy (clasă reală confirmată din
   DevTools: .ct-search-form button.wp-element-button) — folosea
   albastrul implicit din theme.json (culoarea "primary" a blocurilor
   WP core), nu paleta site-ului. */
.ct-search-form button.wp-element-button {
  background: var(--hs-green) !important;
  color: var(--hs-white) !important;
}
.ct-search-form button.wp-element-button:hover {
  background: var(--hs-green-hover) !important;
}
/* Inelul de focus pe câmpul de căutare — tot albastrul implicit din
   temă (accent color), nu paleta site-ului. DOAR pe wrapper-ul exterior
   (.ct-pseudo-input) — pe input însuși dădea un al doilea inel dublat,
   vizibil urât (inel în inel). */
.ct-search-form .ct-pseudo-input:focus-within {
  outline-color: var(--hs-green) !important;
  border-color: var(--hs-green) !important;
  box-shadow: 0 0 0 1px var(--hs-green) !important;
}
.ct-search-form input:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* ---------- Topbar ---------- */
.hs-topbar {
  background: var(--hs-anthracite);
  color: #d9dee5;
  font-size: 14px;
  text-align: center;
  /* Layout-ul "constrained" al blocului Group adaugă spațiere verticală
     automată (margin-block-start ȘI margin-block-end, via variabila
     --theme-content-spacing) chiar și pe blocuri alignfull. O anulăm
     explicit pe toate 4 direcțiile, doar pe topbar-ul nostru. */
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.hs-topbar p { margin: 0; padding: 10px 5%; }

/* Aceeași problemă poate apărea și pe elementul de DUPĂ topbar (marginea
   lui de sus, nu doar marginea de jos a topbar-ului) — zerorizăm și acolo. */
.hs-topbar + * { margin-top: 0 !important; }

/* ---------- Hero (core/cover cu overlay antracit) ---------- */
.hs-hero.wp-block-cover { min-height: 640px; }
.hs-hero .wp-block-cover__background { background-color: var(--hs-anthracite) !important; }
.hs-hero h1 { color: var(--hs-white); font-size: clamp(36px, 5vw, 58px); line-height: 1.04; }
.hs-hero p  { color: #e5e7eb; font-size: 20px; line-height: 1.6; }
.hs-eyebrow {
  display: inline-flex;
  background: rgba(74, 155, 93, .18);
  border: 1px solid rgba(74, 155, 93, .5);
  color: #dff5e4;
  border-radius: 999px;
  padding: 8px 13px;
  font-weight: 700;
  font-size: 13px;
}

/* Panel "Soluții integrate" — glassmorphism (peste imaginea hero) */
.hs-panel {
  background: rgba(255, 255, 255, .14);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 28px;
  padding: 30px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .28);
  color: var(--hs-white);
}
.hs-panel h3, .hs-panel h4 { color: var(--hs-white); }
.hs-panel p { color: #e9edf2; }
.hs-panel li { color: #e9edf2; border-bottom-color: rgba(255, 255, 255, .14); }
.hs-panel ul { list-style: none; margin: 0; padding: 0; }
.hs-panel li {
  padding: 15px 0;
  border-bottom: 1px solid var(--hs-border);
  color: var(--hs-steel);
  font-weight: 600;
}
.hs-panel li::before { content: "✓ "; color: var(--hs-green); font-weight: 900; }
.hs-panel li:last-child { border-bottom: 0; }

/* Statistici — glass ușor */
.hs-stats .wp-block-column {
  background: rgba(255, 255, 255, .10);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 18px;
  padding: 20px;
}
.hs-stat-num { display: block; font-size: 30px; font-weight: 800; color: var(--hs-sand); }
.hs-stat-label { font-size: 13px; color: #d7dce3; }

/* ---------- Carduri servicii ---------- */
.hs-card {
  background: var(--hs-white);
  border-radius: 24px;
  padding: 30px;
  box-shadow: 0 12px 35px rgba(17, 24, 39, .07);
  border: 1px solid var(--hs-border);
  height: 100%;
}
.hs-card h3 { margin-top: 0; }
.hs-card p { color: var(--hs-muted); line-height: 1.65; }
.hs-icon {
  width: 54px; height: 54px;
  border-radius: 16px;
  background: rgba(74, 155, 93, .12);
  display: grid; place-items: center;
  color: var(--hs-green); font-size: 26px; font-weight: 900;
  margin-bottom: 18px;
}

/* ---------- Secțiune dark (proiect) ---------- */
.hs-dark { background: var(--hs-anthracite); color: var(--hs-white); }
.hs-dark h2, .hs-dark h3, .hs-dark h4 { color: var(--hs-white); }
.hs-dark p, .hs-dark li { color: #cdd3dc; }
.hs-dark a { color: #e9edf2; }
.hs-dark a:hover { color: var(--hs-green); }
.hs-project-box {
  background: #34373d;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 28px;
  padding: 38px;
}

/* ---------- Footer CTA ---------- */
.hs-footer-cta {
  background: var(--hs-white);
  padding: 54px;
  border-radius: 30px;
  box-shadow: 0 16px 50px rgba(17, 24, 39, .08);
}
.hs-footer-cta h2 { margin: 0; }
.hs-footer-cta p { margin: 8px 0 0; color: var(--hs-muted); }

/* ---------- Secțiuni alternante ---------- */
.hs-section-alt { background: var(--hs-light-bg); }

/* ============================================================
   Homepage 4 piloni — componente
   ============================================================ */

/* Hero cu video — max 70vh, textul trebuie vizibil FĂRĂ scroll */
.hs-hero-video.wp-block-cover {
  min-height: 70vh;
  max-height: 760px;
}
.hs-hero-video video,
.hs-hero-video img.wp-block-cover__image-background { object-fit: cover; }
.hs-hero-video h1 { color: var(--hs-white); font-size: clamp(28px, 4.2vw, 50px); }
.hs-hero-video p  { color: #e5e7eb; }
/* Pe mobil nu încărcăm video — rămâne poster image (economie de date) */
@media (max-width: 781px) {
  .hs-hero-video video { display: none; }
}

/* Chip-uri cu liniile de business (hero V1) */
.hs-chips { display: flex; gap: 10px; flex-wrap: wrap; }
.hs-chip {
  background: rgba(255, 255, 255, .10);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  padding: 9px 16px;
  font-weight: 700;
  font-size: 13.5px;
  color: var(--hs-white);
  margin: 0;
}

/* Bandă de încredere — certificări sus */
.hs-trust {
  background: var(--hs-light-bg);
  border-bottom: 1px solid var(--hs-border);
}
/* Grupul flex care ține badge-urile ISO + textele simple — fără gap explicit,
   paragrafele fără padding (Producție proprie / Livrare națională) se lipesc
   unul de altul odată ce le-am scos margin-ul implicit. */
.hs-trust .wp-block-group { gap: 10px 24px; }
.hs-trust p { margin: 0; font-weight: 700; color: var(--hs-steel); font-size: 14px; }
.hs-iso {
  background: var(--hs-white);
  border: 1px solid var(--hs-border);
  border-radius: 10px;
  padding: 8px 14px;
  color: var(--hs-anthracite);
  font-weight: 700;
  margin: 0;
}

/* Logo-uri organisme de certificare (ex. TÜV).
   ⚠️ Folosește DOAR fișierele oficiale primite de la organismul care te-a certificat.
   Logo-ul ISO nu se folosește — ISO nu certifică firme. */
.hs-logos {
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
  justify-content: center;
}
.hs-logos figure { margin: 0; }
.hs-logos img {
  max-height: 52px;
  width: auto;
  height: auto;
  display: block;
  filter: grayscale(1);
  opacity: .72;
  transition: filter .3s ease, opacity .3s ease;
}
.hs-logos img:hover { filter: none; opacity: 1; }
@media (max-width: 781px) {
  .hs-logos { gap: 20px; }
  .hs-logos img { max-height: 40px; }
}

/* Bandă 4 piloni */
.hs-pillar {
  background: var(--hs-white);
  border: 1px solid var(--hs-border);
  border-radius: 20px;
  padding: 26px 22px;
  text-align: center;
  box-shadow: 0 12px 35px rgba(17, 24, 39, .06);
  height: 100%;
}
.hs-pillar h3 { font-size: 19px; margin: 0 0 10px; }
.hs-pillar p { color: var(--hs-muted); font-size: 14.5px; }
.hs-pillar .hs-icon { margin-left: auto; margin-right: auto; }

/* Secțiune per pilon (text + imagine + tag-uri) */
.hs-divlabel {
  color: var(--hs-green);
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 0 0 6px;
}
.hs-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.hs-tag {
  background: var(--hs-white);
  border: 1px solid var(--hs-border);
  border-radius: 999px;
  padding: 6px 13px;
  font-size: 13px;
  color: var(--hs-steel);
  font-weight: 600;
  margin: 0;
}

/* Flux de lucru — 6 etape */
.hs-step {
  background: var(--hs-white);
  border: 1px solid var(--hs-border);
  border-top: 3px solid var(--hs-green);
  border-radius: 14px;
  padding: 18px 14px;
  text-align: center;
  height: 100%;
}
.hs-step strong { display: block; color: var(--hs-anthracite); font-size: 14px; }
.hs-step span { color: var(--hs-muted); font-size: 12.5px; }

/* Motive „De ce Hortishop" */
.hs-why {
  background: var(--hs-white);
  border: 1px solid var(--hs-border);
  border-left: 3px solid var(--hs-green);
  border-radius: 14px;
  padding: 20px;
  height: 100%;
}
.hs-why strong { display: block; color: var(--hs-anthracite); margin-bottom: 4px; }
.hs-why span { color: var(--hs-muted); font-size: 14.5px; }

/* ---------- Pagini interioare ---------- */

/* Hero secundar (pagini interioare) */
.hs-page-hero { background: var(--hs-anthracite); color: var(--hs-white); }
.hs-page-hero h1 { color: var(--hs-white); font-size: clamp(30px, 4vw, 46px); }
.hs-page-hero p { color: #cdd3dc; font-size: 18px; max-width: 720px; }

/* Carduri specificații */
.hs-spec {
  background: var(--hs-white);
  border: 1px solid var(--hs-border);
  border-left: 3px solid var(--hs-green);
  border-radius: 16px;
  padding: 24px;
  height: 100%;
}
.hs-spec h4 { margin: 0 0 6px; color: var(--hs-anthracite); }
.hs-spec p { margin: 0; color: var(--hs-muted); line-height: 1.6; }

/* Card de certificat (pagina Certificări) */
.hs-cert {
  background: var(--hs-white);
  border: 1px solid var(--hs-border);
  border-top: 3px solid var(--hs-green);
  border-radius: 18px;
  padding: 26px 24px;
  height: 100%;
}
.hs-cert h3 { margin: 0 0 4px; font-size: 20px; }
.hs-cert .hs-cert-org {
  color: var(--hs-green);
  font-weight: 700;
  font-size: 12.5px;
  text-transform: uppercase;
  letter-spacing: .03em;
  margin: 0 0 12px;
}
.hs-cert dl {
  margin: 0 0 18px;
  font-size: 14.5px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 12px;
}
.hs-cert dt { color: var(--hs-muted); }
.hs-cert dd { margin: 0; color: var(--hs-anthracite); font-weight: 600; }

/* Link de descărcare PDF */
.hs-pdf-link a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: var(--hs-green);
  font-size: 14.5px;
}
.hs-pdf-link a::before { content: "⬇"; font-weight: 900; }
.hs-pdf-link a:hover { color: var(--hs-green-hover); }

/* Card de proiect (portofoliu) */
.hs-project-card {
  background: var(--hs-white);
  border: 1px solid var(--hs-border);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 12px 35px rgba(17, 24, 39, .07);
  height: 100%;
}
.hs-project-card .wp-block-image,
.hs-project-card img { margin: 0; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.hs-project-card .hs-card-body { padding: 22px 24px 26px; }
.hs-project-card h3 { margin: 0 0 6px; font-size: 22px; }
.hs-meta { color: var(--hs-green); font-weight: 700; font-size: 13px; letter-spacing: .02em; text-transform: uppercase; }

/* ============================================================
   Modernism 2026 — animații discrete
   ============================================================ */

/* Lift + tranziții la hover */
.hs-card,
.hs-project-card,
.hs-pillar,
.hs-cert,
.hs-panel,
.wp-block-button__link {
  transition: transform .35s cubic-bezier(.16,1,.3,1),
              box-shadow .35s ease,
              background-color .25s ease;
  will-change: transform;
}
.hs-card:hover,
.hs-project-card:hover,
.hs-pillar:hover,
.hs-cert:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 50px rgba(17, 24, 39, .12);
}
.hs-icon { transition: transform .35s cubic-bezier(.16,1,.3,1); }
.hs-card:hover .hs-icon { transform: scale(1.08) rotate(-3deg); }
.wp-block-button__link:hover { transform: translateY(-2px); }

/* Scroll reveal (fade-up) — activat de hortishop.js */
.hs-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s ease, transform .7s cubic-bezier(.16,1,.3,1);
}
.hs-reveal.is-visible { opacity: 1; transform: none; }
/* delay în cascadă pentru elemente succesive */
.hs-reveal:nth-child(2) { transition-delay: .08s; }
.hs-reveal:nth-child(3) { transition-delay: .16s; }
.hs-reveal:nth-child(4) { transition-delay: .24s; }

/* Respectă preferința de reducere a mișcării */
@media (prefers-reduced-motion: reduce) {
  .hs-card, .hs-project-card, .hs-pillar, .hs-cert, .hs-panel, .hs-icon,
  .wp-block-button__link, .hs-reveal {
    transition: none !important;
    transform: none !important;
  }
  .hs-reveal { opacity: 1 !important; }
}

/* ============================================================
   Blog & Portofoliu — postări/proiecte native WordPress
   Selectoare standard WP (post_class/body_class, folosite de orice
   temă serioasă, inclusiv Blocksy) — nu clase specifice Blocksy pe
   care nu le putem verifica fără inspecție live.
   ============================================================ */

/* ---------- Vizualizare single (articol / proiect) ---------- */

/* Blocksy pune conținutul pe container "narrow" (confirmat prin
   inspecție: data-content="narrow"), mult mai îngust decât restul
   site-ului. Lărgim la aceeași lățime ca paginile noastre (1180px,
   din theme.json). Textul din articol rămâne lizibil — vezi regula
   .entry-content max-width:780px mai jos, imbricată în acest container. */
body.single [data-content="narrow"],
body.category [data-content="narrow"],
body.archive [data-content="narrow"],
body.search [data-content="narrow"] {
  max-width: 1180px !important;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}
@media (max-width: 600px) {
  body.single [data-content="narrow"],
  body.category [data-content="narrow"],
  body.archive [data-content="narrow"] {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* Bandă antracit sus, ca un mini-hero — wrapper standard WP pentru
   titlu + meta (.entry-header, convenție folosită de majoritatea
   temelor serioase). Dacă Blocksy nu grupează cele două într-un
   wrapper comun, regula asta nu are efect — verifică rezultatul. */
body.single .entry-header {
  background: var(--hs-anthracite);
  color: var(--hs-white);
  padding: 34px 38px;
  border-radius: 18px;
  margin-bottom: 32px;
}

/* .page-title = clasa reală confirmată prin inspecție live (Blocksy),
   nu .entry-title cum presupusesem inițial — păstrăm ambele selectoare,
   ca plasă de siguranță dacă se schimbă contextul (single vs. altundeva). */
body.single .entry-header .page-title,
body.single .entry-header .page-title a,
body.single .entry-header .entry-title,
body.single .entry-header .entry-title a {
  color: var(--hs-white) !important;
  font-size: clamp(28px, 4vw, 44px);
  letter-spacing: -0.01em;
  line-height: 1.15;
  margin: 0 0 12px;
}

body.single .entry-meta,
body.single .posted-on,
body.single .byline {
  color: #cdd3dc;
  font-size: 14px;
}
body.single .entry-meta a,
body.single .byline a { color: #dff5e4; font-weight: 600; }
body.single .entry-meta a:hover,
body.single .byline a:hover { color: var(--hs-sand); }

/* Categorii ca badge-uri premium (accent sand, pe fundal antracit) */
body.single .cat-links a,
body.single .post-categories a {
  display: inline-block;
  background: rgba(212, 165, 116, .18);
  color: var(--hs-sand);
  border: 1px solid rgba(212, 165, 116, .4);
  border-radius: 999px;
  padding: 4px 13px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  margin: 0 6px 6px 0;
}

/* Conținut — .entry-content rămâne pe lățimea containerului (1180px,
   vezi mai sus). Constrângem la 780px DOAR textul (paragrafe, titluri,
   liste), nu întregul container — altfel galeria (sau orice alt bloc
   lat) se îngustează odată cu textul, fără să fie nevoie. */
body.single .entry-content {
  line-height: 1.75;
  font-size: 17px;
  /* Fără padding propriu — .entry-content rămâne pe aceeași lățime ca
     banda antracit de sus (.entry-header) și galeria; textul/CTA-ul se
     inserează cu propriul padding de 20px mai jos, nav-ul și share-box
     rămân pe toată lățimea. */
  box-sizing: border-box !important;
}
body.single .entry-content p,
body.single .entry-content h2,
body.single .entry-content h3,
body.single .entry-content h4,
body.single .entry-content ul,
body.single .entry-content ol,
body.single .entry-content blockquote {
  /* Textul stă "în interiorul" galeriei/nav-ului, cu 20px inset pe
     fiecare parte — nu mai e limitat la o lățime fixă de 780px, ci
     urmărește lățimea reală a containerului (aceeași cu galeria). */
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}
body.single .entry-content p { margin-bottom: 1.3em; }
body.single .entry-content h2 {
  margin-top: 2em;
  color: var(--hs-anthracite);
  font-size: 28px;
  letter-spacing: -0.01em;
}
body.single .entry-content h3 { margin-top: 1.5em; color: var(--hs-anthracite); }
body.single .entry-content ul { line-height: 1.7; }

/* Galerie foto — carduri rotunjite, umbră fină, gap generos.
   Suportă atât blocul nativ WP (.wp-block-gallery) cât și pluginul
   Modula (.modula-gallery), folosit efectiv pe acest site. */
body.single .wp-block-gallery,
body.single .gallery,
body.single .modula-gallery {
  gap: 14px;
}
body.single .wp-block-gallery figure,
body.single .gallery-item,
body.single .modula-gallery .modula-item,
body.single .modula-gallery img {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .10);
  transition: transform .3s cubic-bezier(.16,1,.3,1);
}
body.single .wp-block-gallery figure:hover,
body.single .gallery-item:hover,
body.single .modula-gallery .modula-item:hover { transform: translateY(-3px); }
body.single .wp-block-gallery img,
body.single .gallery-item img { border-radius: 14px; }

/* Ascunde formularul de comentarii — nu are sens pe un site de firmă
   (proiecte/articole, nu discuții publice). Reversibil: șterge regula
   de mai jos dacă vrei comentarii active. */
#comments, .comments-area, #respond, .comment-respond, .ct-comments-container {
  display: none !important;
}

/* Banda CTA de final — element HTML real (vezi hook get_footer în
   functions.php), afișat chiar înainte de footer, nu mai e ::after pe
   .entry-content (conținut generat prin CSS, invizibil pentru
   cititoarele de ecran). Antracitul rămâne rezervat benzii de sus
   (.entry-header) și share-box-ului — aici, accent verde pe fundal
   deschis, ca să nu dubleze aceeași culoare de două ori pe pagină. */
body.single .hs-single-cta {
  display: block;
  max-width: 1180px;
  margin: 40px auto 56px;
  padding: 24px 28px;
  background: rgba(74, 155, 93, .08);
  border: 1px solid rgba(74, 155, 93, .25);
  border-left: 3px solid var(--hs-green);
  border-radius: 14px;
  color: var(--hs-anthracite) !important;
  font-weight: 600;
  text-decoration: none !important;
  box-sizing: border-box;
  transition: background .25s, border-color .25s, transform .3s cubic-bezier(.16,1,.3,1);
}
body.single .hs-single-cta:hover {
  background: rgba(74, 155, 93, .16);
  border-color: var(--hs-green);
  transform: translateY(-2px);
}
@media (max-width: 600px) {
  body.single .hs-single-cta {
    margin-left: 16px;
    margin-right: 16px;
  }
}

/* ---------- Share social + navigare Previous/Next ----------
   ⚠️ Nu am inspectat live aceste elemente — acopar mai multe variante
   plauzibile de clase (Blocksy folosește des prefixul "ct-", plus
   convenții WordPress standard). Regulile care nu se potrivesc nu au
   niciun efect — dacă ceva tot nu prinde, trimite-mi clasa exactă din
   DevTools și țintesc precis. */

/* Rândul de share social — clasă reală confirmată: .ct-share-box.
   Blocksy are o regulă proprie mai specifică ([data-location=bottom]
   :not(:last-child) { margin-bottom: 50px }), care câștiga în fața
   regulii de mai jos și lăsa un gol vizibil dedesubt — suprascrisă
   explicit, cu aceeași specificitate + !important. */
body.single .ct-share-box,
body.single .share-box,
body.single .social-share,
body.single .post-share,
body.single .entry-share {
  /* max-width:none explicit — Blocksy poate seta un max-width propriu
     pe acest element; foloseste toată lățimea .entry-content (ca și
     galeria), nu se mai aliniază la lățimea îngustă a textului.
     Antracitul mutat aici (de pe CTA-ul de final, vezi .hs-single-cta),
     ca bookend cu banda antracit de sus (.entry-header). */
  max-width: none !important;
  margin: 40px 0 0 !important;
  padding: 22px 20px;
  background: var(--hs-anthracite);
  border: none !important;
  border-radius: 14px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}
body.single .ct-share-box[data-location="bottom"]:not(:last-child) {
  margin-bottom: 0 !important;
}
/* Grid-ul REAL cu iconițele e pe div-ul din interior, nu pe .ct-share-box
   însuși — Blocksy îl pune pe display:grid cu coloane auto-fit(1fr),
   care întinde fiecare celulă să umple lățimea disponibilă, lăsând gol
   mare în jurul iconițelor mici. Forțăm flex, fără întindere. */
body.single .ct-share-box > div {
  display: flex !important;
  grid-template-columns: none !important;
  justify-content: center;
  gap: 12px;
  border: none !important;
}
body.single .ct-share-box a,
body.single .share-box a,
body.single .social-share a,
body.single .post-share a,
body.single .entry-share a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: var(--hs-light-bg);
  border: 1px solid var(--hs-border);
  color: var(--hs-steel) !important;
  transition: transform .3s cubic-bezier(.16,1,.3,1), background .25s, color .25s;
}
body.single .ct-share-box a:hover,
body.single .share-box a:hover,
body.single .social-share a:hover,
body.single .post-share a:hover,
body.single .entry-share a:hover {
  background: var(--hs-green);
  color: var(--hs-white) !important;
  transform: translateY(-3px);
  border-color: var(--hs-green);
}
body.single .ct-share-box svg,
body.single .share-box svg,
body.single .social-share svg { width: 18px; height: 18px; fill: currentColor; }

/* Navigare Previous/Next articol — clase reale confirmate din HTML:
   nav.post-navigation > a.nav-item-prev / a.nav-item-next, cu
   .ct-media-container (thumbnail), .item-content, .item-label,
   .item-title în interior. */
body.single .post-navigation {
  /* Aceeași lățime ca banda antracit de sus (.entry-header) — nu mai
     îngustă la 780px ca textul. */
  max-width: none !important;
  margin: 24px 0 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 18px;
  border: none !important;
}
/* Blocksy pune un divizor implicit între cele 2 iteme (același tipar ca
   la .ct-share-box: border-inline-start moștenit din temă) — anulat
   explicit, ca să rămână doar chenarul cardurilor noastre. */
body.single .post-navigation::before,
body.single .post-navigation::after {
  display: none !important;
}
body.single .post-navigation a.nav-item-prev,
body.single .post-navigation a.nav-item-next {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--hs-white);
  border: 1px solid var(--hs-border) !important;
  border-radius: 14px;
  padding: 14px 18px;
  text-decoration: none;
  transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s;
}
body.single .post-navigation a.nav-item-prev:hover,
body.single .post-navigation a.nav-item-next:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(17, 24, 39, .08);
}
body.single .post-navigation a.nav-item-next {
  flex-direction: row-reverse;
  text-align: right;
}
body.single .post-navigation .ct-media-container {
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  border-radius: 10px;
  overflow: hidden;
  margin: 0;
}
body.single .post-navigation .ct-media-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.single .post-navigation .item-label {
  display: block;
  color: var(--hs-green);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
body.single .post-navigation .item-title {
  display: block;
  color: var(--hs-anthracite);
  font-weight: 700;
  font-size: 14.5px;
  line-height: 1.35;
}
body.single .post-navigation a:hover .item-title { color: var(--hs-green); }

/* ---------- Listare (arhivă de categorie: Blog, Proiecte + rezultate căutare) ---------- */
body.category article.post,
body.archive article.post,
body.category article.type-post,
body.archive article.type-post,
/* Rezultatele de căutare amestecă postări ȘI pagini — article.post
   nu prindea paginile (WordPress le dă clasa article.page, nu .post),
   de-aia doar articolul de blog primea cardul. Orice <article>. */
body.search article {
  background: var(--hs-white);
  border: 1px solid var(--hs-border);
  border-top: 3px solid var(--hs-green);
  border-radius: 18px;
  padding: 28px;
  margin-bottom: 26px;
  box-shadow: 0 12px 32px rgba(17, 24, 39, .06);
  transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease;
}
body.category article.post:hover,
body.archive article.post:hover,
body.category article.type-post:hover,
body.archive article.type-post:hover,
body.search article:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 46px rgba(17, 24, 39, .11);
}
body.category .entry-title,
body.archive .entry-title,
body.search .entry-title { font-size: 24px; margin-bottom: 8px; }
body.category .entry-title a,
body.archive .entry-title a,
body.search .entry-title a {
  color: var(--hs-anthracite);
  font-weight: 700;
}
body.category .entry-title a:hover,
body.archive .entry-title a:hover,
body.search .entry-title a:hover { color: var(--hs-green); }
body.category .entry-meta,
body.archive .entry-meta,
body.search .entry-meta { color: var(--hs-muted); font-size: 13px; }

/* Cardul întreg e clickabil (vezi initCardLinks în hortishop.js) — doar
   un indiciu vizual de cursor, restul comportamentului e în JS. */
body.category .hs-card-clickable,
body.archive .hs-card-clickable,
body.search .hs-card-clickable { cursor: pointer; }

/* Titlul arhivei ("Categorie: Blog" / "Categorie: Proiecte" / "Rezultate
   de căutare pentru ...") */
body.category .page-title,
body.archive .page-title,
body.search .page-title,
.archive-title {
  color: var(--hs-anthracite);
  font-size: clamp(26px, 3.5vw, 38px);
  margin-bottom: 8px;
}

/* Paginarea (1 · 2 · 3 · Următorul) — stătea lipită de footer, fără
   spațiu de respirație dedesubt. Clasă reală confirmată din DevTools:
   nav.ct-pagination (nu .pagination, cum presupusesem inițial). */
body.category .ct-pagination,
body.archive .ct-pagination,
body.search .ct-pagination {
  margin-top: 40px !important;
  margin-bottom: 64px !important;
}
