/*
Theme Name: PIMM Hunedoara
Theme URI: https://pimmhd.ro
Author: PIMM Hunedoara
Author URI: https://pimmhd.ro
Description: Temă WordPress pentru Patronatul Întreprinderilor Mici și Mijlocii Hunedoara. Structură inspirată din site-urile confederațiilor patronale (header cu meniu multi-nivel, hero slider, secțiune evenimente, comunicate, statistici, parteneri, footer cu contact).
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pimm-hunedoara
*/

/* -------------------------------------------------
   0. Variabile / reset
------------------------------------------------- */
:root{
  --gold-light:#f3dfa8;
  --gold:#cda85b;
  --gold-dark:#a97c2f;
  --charcoal:#3d3d3d;
  --grey:#6b6b6b;
  --grey-light:#f5f5f5;
  --white:#ffffff;
  --radius:6px;
  --max-width:1200px;
  --font-main: 'Poppins', 'Segoe UI', Arial, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
body{
  margin:0;
  font-family:var(--font-main);
  color:var(--charcoal);
  background:var(--white);
  line-height:1.6;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
h1,h2,h3,h4{ margin:0 0 .5em; font-weight:700; }
.container{ max-width:var(--max-width); margin:0 auto; padding:0 24px; }
.btn{
  display:inline-block;
  padding:12px 28px;
  border-radius:var(--radius);
  background:linear-gradient(135deg,var(--gold-light),var(--gold-dark));
  color:var(--white);
  font-weight:600;
  border:none;
  cursor:pointer;
  transition:opacity .2s;
}
.btn:hover{ opacity:.85; }
.section-title{
  text-align:center;
  font-size:2rem;
  margin-bottom:8px;
}
.section-title .star{
  display:inline-block;
  width:20px;height:20px;
  margin-right:8px;
  vertical-align:middle;
  background:linear-gradient(135deg,var(--gold-light),var(--gold-dark));
  clip-path:polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}
.section-subtitle{
  text-align:center;
  color:var(--grey);
  max-width:700px;
  margin:0 auto 40px;
}
.skip-link{
  position:absolute; left:-9999px; top:0; background:var(--charcoal); color:var(--white); padding:10px 16px; z-index:1000;
}
.skip-link:focus{ left:10px; top:10px; }

/* -------------------------------------------------
   1. Header
------------------------------------------------- */
.site-header{
  border-bottom:1px solid #eee;
  position:sticky; top:0; background:var(--white); z-index:500;
}
.site-header .container{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:12px; padding-bottom:12px;
}
.site-branding{ display:flex; align-items:center; gap:12px; }
.site-branding img{ max-height:64px; width:auto; }
.site-branding .site-title{ font-size:1.15rem; font-weight:700; color:var(--charcoal); }
.site-branding .site-title span{ display:block; font-size:.7rem; font-weight:400; color:var(--grey); }

.primary-nav{ display:flex; align-items:center; gap:28px; }
.primary-nav ul{ display:flex; gap:24px; position:relative; }
.primary-nav li{ position:relative; }
.primary-nav a{
  font-weight:600; font-size:.92rem; padding:8px 2px; display:block;
}
.primary-nav li:hover > a, .primary-nav a:focus{ color:var(--gold-dark); }
.primary-nav ul ul{
  display:none; position:absolute; left:0; top:100%; background:var(--white);
  min-width:230px; box-shadow:0 8px 24px rgba(0,0,0,.12); border-radius:var(--radius); padding:8px 0;
}
.primary-nav li:hover > ul{ display:block; }
.primary-nav ul ul a{ padding:8px 18px; font-weight:500; }
.primary-nav ul ul a:hover{ background:var(--grey-light); }

.header-actions{ display:flex; align-items:center; gap:16px; }
.search-toggle, .menu-toggle{
  background:none;border:none;cursor:pointer;font-size:1.2rem;color:var(--charcoal);
}
.menu-toggle{ display:none; }
.header-search{ display:none; padding:14px 0; border-top:1px solid #eee; }
.header-search.is-open{ display:block; }
.header-search form{ display:flex; max-width:480px; margin:0 auto; }
.header-search input[type="search"]{ flex:1; padding:10px 14px; border:1px solid #ddd; border-radius:var(--radius) 0 0 var(--radius); }
.header-search button{ border-radius:0 var(--radius) var(--radius) 0; }

@media (max-width:900px){
  .primary-nav{ display:none; position:absolute; top:100%; left:0; right:0; background:var(--white); box-shadow:0 8px 20px rgba(0,0,0,.1); }
  .primary-nav.is-open{ display:block; }
  .primary-nav ul{ flex-direction:column; padding:12px 24px; gap:4px; }
  .primary-nav ul ul{ position:static; box-shadow:none; padding-left:12px; }
  .menu-toggle{ display:block; }
}

/* -------------------------------------------------
   2. Hero slider
------------------------------------------------- */
.hero-slider{ position:relative; overflow:hidden; background:var(--charcoal); }
.hero-slides{ display:flex; transition:transform .6s ease; }
.hero-slide{
  min-width:100%; position:relative; display:flex; align-items:center;
  min-height:420px; background-size:cover; background-position:center;
}
.hero-slide::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,.1)); }
.hero-slide-content{ position:relative; z-index:2; color:var(--white); max-width:560px; padding:24px; }
.hero-slide-content h2{ font-size:2.2rem; }
.hero-slide-content p{ margin-bottom:20px; }
@media (max-width:640px){
  .hero-slide{ min-height:auto; padding:56px 0; }
  .hero-slide::after{ background:linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.6)); }
  .hero-slide-content{
    max-width:100%;
    margin:0 auto;
    padding:28px 22px;
    text-align:center;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.14);
    border-radius:18px;
  }
  .hero-slide-content::before{
    content:'';
    display:block;
    width:44px;
    height:3px;
    margin:0 auto 18px;
    border-radius:2px;
    background:linear-gradient(135deg,var(--gold-light),var(--gold-dark));
  }
  .hero-slide-content h2{
    font-size:1.4rem;
    line-height:1.35;
    margin-bottom:14px;
  }
  .hero-slide-content p{
    font-size:.92rem;
    line-height:1.55;
    color:#e2e2e2;
    margin-bottom:20px;
  }
  .hero-slide-content .btn{
    display:block;
    width:100%;
  }
}
.hero-nav{
  position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.85);
  border:none; width:40px; height:40px; border-radius:50%; cursor:pointer; font-size:1.1rem; z-index:3;
}
.hero-prev{ left:16px; } .hero-next{ right:16px; }
.hero-dots{ position:absolute; bottom:16px; left:0; right:0; display:flex; justify-content:center; gap:8px; z-index:3; }
.hero-dots button{ width:10px; height:10px; border-radius:50%; border:none; background:rgba(255,255,255,.5); cursor:pointer; }
.hero-dots button.active{ background:var(--gold); }

/* -------------------------------------------------
   3. CTA / Calendar band
------------------------------------------------- */
.cta-band{
  background:linear-gradient(135deg,var(--gold-light),var(--gold-dark));
  color:var(--white); padding:36px 0; text-align:center;
}
.cta-band h3{ font-size:1.4rem; margin-bottom:12px; }
.cta-band .btn{ background:var(--white); color:var(--gold-dark); }

/* -------------------------------------------------
   4. News / Comunicate
------------------------------------------------- */
.news-section{ padding:70px 0; }
.news-layout{ display:grid; grid-template-columns:2fr 1fr; gap:48px; }
.news-list{ display:grid; gap:20px; }
.news-item{
  display:flex; gap:16px; padding:16px; border:1px solid #eee; border-radius:var(--radius);
  transition:box-shadow .2s;
}
.news-item:hover{ box-shadow:0 6px 18px rgba(0,0,0,.08); }
.news-item .news-date{ color:var(--gold-dark); font-size:.8rem; font-weight:600; text-transform:uppercase; }
.news-item h4{ margin:4px 0 6px; font-size:1.05rem; }
.news-item p{ color:var(--grey); font-size:.92rem; margin:0; }
.news-sidebar .search-widget input{ width:100%; padding:10px 14px; border:1px solid #ddd; border-radius:var(--radius); margin-bottom:10px; }
.news-sidebar h4{ margin-bottom:16px; }
@media (max-width:900px){ .news-layout{ grid-template-columns:1fr; } }

/* -------------------------------------------------
   5. Statistici
------------------------------------------------- */
.stats-section{ background:var(--grey-light); padding:70px 0; text-align:center; }
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:32px; }
.stat-box{ background:var(--white); border-radius:var(--radius); padding:28px 16px; box-shadow:0 4px 14px rgba(0,0,0,.05); }
.stat-box .stat-number{
  font-size:2.2rem; font-weight:700;
  background:linear-gradient(135deg,var(--gold-dark),var(--gold-light));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.stat-box .stat-label{ color:var(--grey); font-size:.92rem; margin:8px 0 12px; }
.stat-box a{ font-size:.85rem; font-weight:600; color:var(--gold-dark); }
@media (max-width:900px){ .stats-grid{ grid-template-columns:repeat(2,1fr); } }

/* -------------------------------------------------
   6. Parteneri
------------------------------------------------- */
.partners-section{ padding:70px 0; text-align:center; }
.partners-grid{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:40px; margin-top:32px;
}
.partners-grid img{ max-height:60px; width:auto; filter:grayscale(100%); opacity:.75; transition:.2s; }
.partners-grid a:hover img{ filter:none; opacity:1; }

/* -------------------------------------------------
   7. Footer
------------------------------------------------- */
.site-footer{ background:var(--charcoal); color:#ddd; padding:36px 0 18px; }
.footer-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr 1fr; gap:28px; }
.footer-grid h4{ color:var(--white); margin-bottom:14px; font-size:.95rem; text-transform:uppercase; letter-spacing:.04em; }
.footer-grid p, .footer-grid li{ color:#bbb; font-size:.92rem; }
.footer-grid a:hover{ color:var(--gold-light); }
.footer-social{ display:flex; gap:12px; margin-top:14px; }
.footer-social a{
  width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center;
}
.footer-brand-title{ color:var(--white); font-size:1rem; margin-bottom:14px; }
.footer-links{ list-style:none; margin:0; padding:0; }
.footer-links li{ margin-bottom:8px; }
.footer-legal{ margin-top:8px; display:flex; flex-wrap:wrap; justify-content:center; gap:14px; font-size:.8rem; color:#888; }
.footer-legal a{ color:#888; }
.footer-legal a:hover{ color:var(--gold-light); }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1); margin-top:20px; padding-top:14px;
  text-align:center; font-size:.82rem; color:#999;
}
@media (max-width:900px){
  .footer-grid{
    grid-template-columns:1fr;
    row-gap:30px;
    text-align:center;
  }
  .footer-grid > div{
    padding-bottom:26px;
    border-bottom:1px solid rgba(255,255,255,.1);
  }
  .footer-grid > div:last-child{
    border-bottom:none;
    padding-bottom:0;
  }
  .footer-social{ justify-content:center; }
  .footer-nav-menu{ column-count:1; -webkit-column-count:1; }
}

/* -------------------------------------------------
   8. Pagini standard / single
------------------------------------------------- */
.page-content, .single-content{ max-width:800px; margin:0 auto; padding:60px 24px; }
.page-content h1, .single-content h1{ font-size:2rem; margin-bottom:24px; }


/* -------------------------------------------------
   9. Fix mobil: scroll orizontal + campuri cautare
------------------------------------------------- */
html{ overflow-x:visible; }
body{ overflow-x:hidden; width:100%; }
img, iframe, table, video, embed{ max-width:100%; }

.header-search form,
.news-sidebar .search-widget form{
  max-width:100%;
  box-sizing:border-box;
}
.header-search input[type="search"],
.news-sidebar .search-widget input[type="search"]{
  min-width:0;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  -webkit-appearance:none;
  appearance:none;
}


/* -------------------------------------------------
   9. Aderare - floating tiles
------------------------------------------------- */
.page-content:has(.pimm-tiles-grid){ max-width:1120px; }
.pimm-tiles-lead{
  font-size:clamp(1.05rem,1.5vw,1.2rem); color:#5a5a5a; line-height:1.75;
  max-width:760px; margin:0 auto clamp(32px,4vw,48px); text-align:center;
}
.pimm-tiles-grid{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch;
  gap:clamp(20px,2.5vw,28px); margin:0 0 clamp(36px,5vw,56px);
}
.pimm-tile{
  flex:1 1 260px; max-width:340px;
  background:#fff; border-radius:20px; padding:clamp(28px,3.5vw,36px) clamp(24px,3vw,30px);
  box-shadow:0 4px 22px rgba(61,61,61,.07); border:1px solid rgba(205,168,91,.16);
  transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease;
  position:relative; overflow:hidden;
}
.pimm-tile.pimm-tile-full{ flex-basis:100%; max-width:100%; }
body.page-id-83 .pimm-tile{ text-align:center; }
body.page-id-83 .pimm-tile-icon{ margin-left:auto; margin-right:auto; }
.pimm-tile::before{
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg, var(--gold), var(--gold-light));
  transform:scaleX(0); transform-origin:left; transition:transform .4s ease;
}
.pimm-tile:hover{
  transform:translateY(-8px); box-shadow:0 20px 44px rgba(61,61,61,.14); border-color:rgba(205,168,91,.4);
}
.pimm-tile:hover::before{ transform:scaleX(1); }
.pimm-tile-icon{
  width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--gold), var(--gold-light)); color:#fff; font-size:1.4rem; font-weight:700;
  margin-bottom:18px; box-shadow:0 6px 16px rgba(205,168,91,.35);
}
.pimm-tile h2{
  font-size:clamp(1.15rem,2vw,1.32rem); color:var(--charcoal); margin:0 0 16px; font-weight:700; line-height:1.3;
}
.pimm-tile ul, .pimm-tile ol{ margin:0; padding:0; list-style:none; counter-reset:pimm-step; }
.pimm-tile li{
  position:relative; padding-left:30px; margin-bottom:12px; color:#555; line-height:1.6; font-size:.96rem;
}
.pimm-tile li:last-child{ margin-bottom:0; }
.pimm-tile ul li::before{
  content:'\2713'; position:absolute; left:0; top:0; width:20px; height:20px; border-radius:50%;
  background:rgba(205,168,91,.15); color:var(--gold); font-size:.72rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.pimm-tile ol li{ counter-increment:pimm-step; }
.pimm-tile ol li::before{
  content:counter(pimm-step); position:absolute; left:0; top:0; width:20px; height:20px; border-radius:50%;
  background:var(--gold); color:#fff; font-size:.72rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.pimm-tile a{ color:var(--charcoal); text-decoration:underline; text-decoration-color:rgba(205,168,91,.5); text-underline-offset:2px; }
.pimm-tile a:hover{ color:var(--gold); }
.pimm-tiles-note{
  text-align:center; color:#8a8a8a; font-size:.95rem; margin:0 0 clamp(36px,5vw,56px);
}
@media (max-width:640px){
  .pimm-tiles-grid{ grid-template-columns:1fr; }
}


/* Despre noi - section titles + principles grid */
.pimm-section-title{
  text-align:center; font-size:clamp(1.35rem,2.4vw,1.7rem); color:var(--charcoal); font-weight:700;
  margin:0 0 clamp(22px,3vw,30px); position:relative; padding-bottom:16px;
}
.pimm-section-title::after{
  content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  width:56px; height:3px; border-radius:2px; background:linear-gradient(90deg, var(--gold), var(--gold-light));
}
.pimm-principles-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:clamp(14px,2vw,18px); margin:0 0 clamp(40px,5vw,60px);
}
.pimm-principle-card{
  background:#fff; border-radius:16px; padding:clamp(20px,2.5vw,26px) clamp(20px,2.5vw,24px);
  box-shadow:0 4px 18px rgba(61,61,61,.06); border:1px solid rgba(205,168,91,.14);
  transition:transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease, border-color .3s ease;
}
.pimm-principle-card:hover{
  transform:translateY(-6px); box-shadow:0 16px 32px rgba(61,61,61,.12); border-color:rgba(205,168,91,.4);
}
.pimm-principle-card h3{
  font-size:1.02rem; color:var(--charcoal); margin:0 0 8px; font-weight:700;
  display:flex; align-items:center; gap:9px; line-height:1.35;
}
.pimm-principle-card h3::before{
  content:''; width:8px; height:8px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg, var(--gold), var(--gold-light));
}
.pimm-principle-card p{ margin:0; color:#666; font-size:.9rem; line-height:1.65; }


/* Hero banner generic (Aderare + Despre noi) - mutat aici ca sa se incarce site-wide, nu doar pe pagina cu shortcode-ul formularului */
.pimm-aderare-hero{position:relative;min-height:520px;display:flex;align-items:flex-end;justify-content:center;text-align:center;background-size:cover;background-position:center;margin-bottom:20px;}
.pimm-aderare-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(20,20,20,.15) 0%, rgba(20,20,20,.35) 55%, rgba(20,20,20,.75) 100%);}
.pimm-aderare-hero-content{position:relative;z-index:2;color:#fff;max-width:820px;padding:40px 24px 40px;}
.pimm-aderare-hero-content h1{font-size:2.3rem;font-weight:400;line-height:1.3;margin:0 0 28px;color:#fff;}
.pimm-aderare-hero-btn{display:inline-block;background:#c0392b;color:#fff;padding:15px 36px;border-radius:6px;font-weight:700;text-decoration:none;font-size:1.05rem;transition:background .2s ease;}
.pimm-aderare-hero-btn:hover{background:#a5301f;color:#fff;}
@media (max-width:600px){
    .pimm-aderare-hero{min-height:320px;}
    .pimm-aderare-hero-content h1{font-size:1.5rem;margin-bottom:20px;}
}


/* Linkuri vizibile in text - evidentiere pe toate paginile */
.page-content a,
.single-content a,
p a,
li a {
  color: var(--gold-dark);
  text-decoration: underline;
  text-decoration-color: rgba(205,168,91,.55);
  text-underline-offset: 2px;
  font-weight: 600;
  transition: color .2s ease, text-decoration-color .2s ease;
}
.page-content a:hover,
.single-content a:hover,
p a:hover,
li a:hover {
  color: var(--gold);
  text-decoration-color: var(--gold);
}
.footer-bottom a {
  color: var(--gold-light);
  text-decoration: underline;
  text-decoration-color: rgba(243,223,168,.5);
  text-underline-offset: 2px;
  font-weight: 600;
}
.footer-bottom a:hover {
  color: #fff;
}


/* Corectie: nu suprascrie navigatia si footerul, care isi pastreaza propriul stil */
.primary-nav a,
.primary-nav ul ul a,
.footer-grid a,
.footer-social a {
  color: inherit;
  text-decoration: none;
}
