/* ══════════════════════════════════════
   SERVICE PAGES — Shared Styles
   berendezeses.html | rigless.html | muhely.html
══════════════════════════════════════ */

/* INTRO SPLIT */
.srv-intro { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.srv-intro-text h2 {
  font-size:clamp(1.9rem,3vw,2.6rem); color:var(--navy); margin-bottom:18px;
  text-align:center; position:relative; letter-spacing:.8px; font-weight:700;
}
.srv-intro-text h2::before {
  content:''; display:block; width:54px; height:4px;
  background:linear-gradient(90deg,var(--red) 0%,var(--red-dark) 100%);
  border-radius:2px; margin:0 auto 16px;
  box-shadow:0 2px 8px rgba(232,39,26,.25);
}
.srv-intro-text p { font-size:1.02rem; color:var(--text); margin-bottom:14px; line-height:1.78; }
.srv-intro-img {
  border-radius:var(--r-md); overflow:hidden; box-shadow:var(--sh-md);
  border:1px solid rgba(0,43,102,.08);
  transition:transform .4s cubic-bezier(.4,0,.2,1), box-shadow .4s cubic-bezier(.4,0,.2,1);
}
.srv-intro-img:hover { transform:translateY(-3px); box-shadow:var(--sh-lg); }
.srv-intro-img img { width:100%; height:400px; object-fit:cover; display:block; }

/* KEY FACTS STRIP */
.key-facts {
  display:flex; gap:0;
  background:linear-gradient(135deg,var(--navy) 0%,#001d4a 100%);
  border-radius:var(--r-md); overflow:hidden; margin-top:32px;
  box-shadow:var(--sh-md);
}
.key-fact {
  flex:1; padding:24px 16px; text-align:center;
  border-right:1px solid rgba(255,255,255,.08);
  transition:background .25s ease;
}
.key-fact:hover{background:rgba(232,39,26,.06)}
.key-fact:last-child { border-right:none; }
.kf-val {
  font-family:'Oswald',sans-serif; font-size:1.85rem; font-weight:700;
  color:var(--red); line-height:1; letter-spacing:.4px;
  text-shadow:0 2px 10px rgba(232,39,26,.2);
}
.kf-label {
  font-size:.7rem; color:rgba(255,255,255,.6); text-transform:uppercase;
  letter-spacing:1px; margin-top:6px;
}

/* ACTIVITY GRID */
.activity-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; }
.activity-card {
  background:#fff; border-radius:var(--card-radius); padding:var(--card-padding-sm);
  box-shadow:var(--card-shadow); border-top:var(--card-border-thick) solid var(--card-border-red);
  transition:var(--ease); text-align:center;
}
.activity-card:hover { transform:translateY(-5px); box-shadow:var(--sh-md); }
.activity-icon {
  font-size:1.8rem; color:var(--blue); margin-bottom:12px;
  display:flex; justify-content:center;
  transition:transform .35s cubic-bezier(.4,0,.2,1);
}
.activity-card:hover .activity-icon { transform:scale(1.12) translateY(-2px); }
.activity-card h4 {
  font-family:'Oswald',sans-serif; font-size:1.02rem; text-transform:uppercase;
  color:var(--navy); margin-bottom:6px; letter-spacing:.4px;
}
.activity-card p { font-size:.87rem; color:var(--text-muted); margin:0; line-height:1.6; }

/* EXPANDABLE MACHINE / SERVICE CARDS */
.machine-card {
  background:#fff; border-radius:var(--r-md); box-shadow:var(--sh-sm);
  overflow:hidden; margin-bottom:16px; transition:box-shadow var(--ease);
  border-left:5px solid var(--red);
}
.machine-card.blue  { border-left-color:var(--blue); }
.machine-card.gray  { border-left-color:var(--gray); }
.machine-card.green { border-left-color:#10b981; }
.machine-card:hover { box-shadow:var(--sh-md); }

.machine-header {
  display:flex; align-items:center; gap:16px; padding:20px 24px;
  cursor:pointer; user-select:none;
}
.machine-header:hover { background:#fafafa; }

.machine-badge {
  font-family:'Oswald',sans-serif; font-size:1.35rem; font-weight:700;
  background:var(--red); color:#fff; padding:8px 16px; border-radius:var(--r-sm);
  flex-shrink:0; min-width:80px; text-align:center; letter-spacing:.5px;
}
.machine-card.blue  .machine-badge { background:var(--blue); }
.machine-card.gray  .machine-badge { background:var(--gray); }
.machine-card.green .machine-badge { background:#10b981; }

.machine-header-text { flex:1; min-width:0; }
.machine-title { font-family:'Oswald',sans-serif; font-size:1.2rem; color:var(--navy); text-transform:uppercase; margin-bottom:2px; letter-spacing:.3px; }
.machine-subtitle { font-size:.83rem; color:var(--text-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.machine-toggle-btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 18px; border-radius:50px; font-size:.78rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.5px; cursor:pointer;
  background:rgba(232,39,26,.1); color:var(--red); border:2px solid var(--red);
  transition:var(--ease); flex-shrink:0; white-space:nowrap; font-family:inherit;
}
.machine-toggle-btn:hover, .machine-card.open .machine-toggle-btn { background:var(--red); color:#fff; }
.machine-toggle-btn.blue-btn { background:rgba(0,74,173,.1); color:var(--blue); border-color:var(--blue); }
.machine-toggle-btn.blue-btn:hover, .machine-card.blue.open .machine-toggle-btn { background:var(--blue); color:#fff; }
.machine-toggle-btn.gray-btn { background:rgba(166,166,166,.1); color:var(--gray-dark); border-color:var(--gray); }
.machine-toggle-btn.gray-btn:hover, .machine-card.gray.open .machine-toggle-btn { background:var(--gray); color:#fff; }
.machine-toggle-btn.green-btn { background:rgba(16,185,129,.1); color:#10b981; border-color:#10b981; }

.machine-body {
  display:none; padding:0 24px 24px;
  border-top:1px solid #f1f5f9; animation:fadeUp .3s ease;
}
.machine-card.open .machine-body { display:block; }

.machine-specs {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr));
  gap:12px; margin:18px 0; background:#f8fafc; padding:16px;
  border-radius:var(--r-sm); border:1px solid #e2e8f0;
}
.spec-item { display:flex; flex-direction:column; }
.spec-label { font-size:.72rem; text-transform:uppercase; color:var(--gray); font-weight:700; letter-spacing:.5px; }
.spec-value { font-size:1rem; color:var(--navy); font-weight:600; margin-top:2px; }

.machine-desc { font-size:.92rem; color:var(--text-muted); margin-bottom:14px; line-height:1.7; }

.machine-features { list-style:none; margin:0 0 6px; }
.machine-features li { position:relative; padding-left:22px; font-size:.9rem; margin-bottom:7px; color:var(--text); }
.machine-features li::before { content:'\f00c'; font-family:"Font Awesome 6 Free"; font-weight:900; color:var(--red); position:absolute; left:0; top:3px; font-size:.7rem; }
.machine-card.blue .machine-features li::before { color:var(--blue); }
.machine-card.gray .machine-features li::before { color:var(--gray); }
.machine-card.green .machine-features li::before { color:#10b981; }

/* RIG SPEC TABLE — class-alapú, gazdagabb tipográfiával */
.rig-spec-table-wrap{
  overflow-x:auto;margin:1.4rem 0;
  border-radius:var(--r-md);
  box-shadow:0 2px 12px rgba(0,0,0,.05);
  border:1px solid rgba(0,43,102,.06);
}
.rig-spec-table{
  width:100%;border-collapse:collapse;font-size:.9rem;
  background:#fff;
}
.rig-spec-table thead tr,
.rig-spec-table tr.rs-head{
  background:linear-gradient(135deg,var(--navy,#0d1b3e) 0%,#003580 100%);
  color:#fff;
}
.rig-spec-table tr.rs-zebra{background:#f8fafc}
.rig-spec-table tbody tr{transition:background .2s ease}
.rig-spec-table tbody tr:hover{background:rgba(0,74,173,.04)}
.rig-spec-table th{
  padding:.7rem .9rem;text-align:left;
  font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.5px;
  font-size:.82rem;font-weight:700;
}
.rig-spec-table td{
  padding:.55rem .9rem;
  border-bottom:1px solid rgba(0,43,102,.05);
  line-height:1.5;
}
.rig-spec-table tbody tr:last-child td{border-bottom:none}
.rig-spec-table td.rs-label{font-weight:600;color:var(--navy)}
.rig-spec-table td.rs-merge{font-weight:600;vertical-align:top;border-right:1px solid rgba(0,43,102,.08);color:var(--navy)}
.rig-spec-table td.rs-section{
  padding:.6rem .9rem;font-weight:600;
  background:linear-gradient(135deg,var(--navy,#0d1b3e) 0%,#003580 100%);
  color:#fff;font-family:'Oswald',sans-serif;text-transform:uppercase;
  letter-spacing:.5px;font-size:.85rem;
}

/* Alszekció-cím a machine-card-okban (pl. "Kompresszoros szolgáltatás") */
.machine-section-title{
  font-family:'Oswald',sans-serif;
  font-size:1.05rem;
  color:var(--navy,#0d1b3e);
  text-transform:uppercase;
  letter-spacing:0.6px;
  margin:0 0 10px 0;
  padding-bottom:8px;
  border-bottom:2px solid var(--red,#E8271A);
  display:inline-block;
}

/* SERVICE GALLERY */
.srv-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; }
.srv-gal-item { border-radius:var(--r-sm); overflow:hidden; cursor:pointer; aspect-ratio:4/3; position:relative; background:#cbd5e1; }
.srv-gal-item img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; display:block; }
.srv-gal-item:hover img { transform:scale(1.06); }
.srv-gal-overlay { position:absolute; inset:0; background:rgba(0,20,60,.45); display:flex; align-items:center; justify-content:center; opacity:0; transition:var(--ease); color:#fff; font-size:1.5rem; }
.srv-gal-item:hover .srv-gal-overlay { opacity:1; }

/* HOMEPAGE POPUP GALLERY */
.popup-trigger-strip {
  display:flex; gap:10px; flex-wrap:wrap; margin-top:16px;
}
.popup-trigger-btn {
  display:inline-flex; align-items:center; gap:8px; padding:10px 20px;
  background:rgba(255,255,255,.12); border:2px solid rgba(255,255,255,.3);
  color:#fff; border-radius:50px; font-size:.82rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.5px; cursor:pointer;
  transition:var(--ease); font-family:inherit;
}
.popup-trigger-btn:hover { background:var(--red); border-color:var(--red); }

/* POPUP GALLERY OVERLAY (WinGate-stílus) */
#gallery-popup {
  position:fixed; inset:0; background:rgba(0,0,0,.95); z-index:9600;
  display:none; flex-direction:column;
}
#gallery-popup.active { display:flex; }
.gp-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 28px; background:rgba(0,20,60,.8);
  border-bottom:2px solid var(--red);
}
.gp-title { font-family:'Oswald',sans-serif; color:#fff; font-size:1.2rem; text-transform:uppercase; letter-spacing:1px; }
.gp-close { background:rgba(255,255,255,.1); border:none; color:#fff; width:40px; height:40px; border-radius:50%; cursor:pointer; font-size:1.1rem; display:flex; align-items:center; justify-content:center; transition:var(--ease); }
.gp-close:hover { background:var(--red); }
.gp-body { flex:1; display:grid; grid-template-columns:1fr 340px; overflow:hidden; }
.gp-main { position:relative; display:flex; align-items:center; justify-content:center; background:#000; padding:20px; }
.gp-main-img { max-width:100%; max-height:calc(100vh - 160px); object-fit:contain; border-radius:var(--r-sm); }
.gp-main-nav { position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.12); border:none; color:#fff; width:48px; height:48px; border-radius:50%; cursor:pointer; font-size:1.1rem; display:flex; align-items:center; justify-content:center; transition:var(--ease); }
.gp-main-nav:hover { background:var(--red); }
.gp-prev { left:16px; }
.gp-next { right:16px; }
.gp-caption { position:absolute; bottom:16px; left:50%; transform:translateX(-50%); background:rgba(0,0,0,.7); color:rgba(255,255,255,.8); font-size:.82rem; padding:6px 16px; border-radius:50px; white-space:nowrap; }
.gp-thumbs { background:#111; overflow-y:auto; display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:8px; align-content:start; }
.gp-thumb { aspect-ratio:4/3; border-radius:6px; overflow:hidden; cursor:pointer; position:relative; border:2px solid transparent; transition:var(--ease); }
.gp-thumb.active { border-color:var(--red); }
.gp-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.gp-thumb-overlay { position:absolute; inset:0; background:rgba(0,0,0,.0); transition:var(--ease); }
.gp-thumb:hover .gp-thumb-overlay { background:rgba(0,0,0,.3); }
.gp-counter { position:absolute; top:16px; right:16px; background:rgba(0,0,0,.6); color:rgba(255,255,255,.7); font-size:.8rem; padding:4px 12px; border-radius:50px; }

@media(max-width:900px) {
  .gp-body { grid-template-columns:1fr; }
  .gp-thumbs { grid-template-columns:repeat(4,1fr); height:120px; overflow-x:auto; overflow-y:hidden; }
  .gp-thumb { aspect-ratio:auto; height:100px; }
}
@media(max-width:768px) {
  .srv-intro { grid-template-columns:1fr; gap:28px; }
  .srv-intro-img img { height:240px; }
  .key-facts { flex-direction:column; }
  .key-fact { border-right:none; border-bottom:1px solid rgba(255,255,255,.1); padding:14px; }
  .machine-subtitle { display:none; }
  .machine-badge { font-size:1.1rem; padding:7px 12px; min-width:70px; }
}

/* Machine card mobile fix */
@media(max-width:600px){
  .machine-header{flex-wrap:wrap;padding:16px;gap:12px}
  .machine-badge{
    /* Téglalap-forma marad, hogy a "RIG-47", "RIG-22" stb. szöveg beleférjen */
    font-size:.95rem;
    padding:6px 12px;
    min-width:auto;
    width:auto;
    height:auto;
    white-space:nowrap;
  }
  .machine-title{font-size:1rem}
  .machine-header-text{min-width:0;flex:1}
  .machine-toggle-btn{width:100%;justify-content:center;margin-top:4px;padding:10px 16px;font-size:.85rem}
  .machine-details{padding:16px}
  .machine-details .grid-2{grid-template-columns:1fr!important}
  .key-facts-strip{flex-direction:column;gap:8px}
  .key-fact{min-width:auto;flex:none}
}
