/*
Theme Name: Rekonstrukcie Poprad
Theme URI: https://www.rekonstrukcie-poprad.sk/
Description: Child tema pre rekonstrukcie-poprad.sk. Dizajn, self-hostovane fonty, konverzne prvky.
Author: Michal Ochranek
Template: Divi
Version: 1.0
*/

@font-face{font-family:'Outfit';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/outfit-latin-ext.woff2') format('woff2-variations');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Outfit';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/outfit-latin.woff2') format('woff2-variations');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/publicsans-latin-ext.woff2') format('woff2-variations');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/publicsans-latin.woff2') format('woff2-variations');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ============================================================== TOKENY */
:root{
  --rp-petrol:#0F4C5C;
  --rp-petrol-tmavy:#0A3644;
  --rp-oranz:#E8721C;          /* dekoracny akcent, ikony */
  --rp-oranz-btn:#B8560C;      /* tlacidla, biely text = 4.8:1 */
  --rp-oranz-btn-hover:#96450A;
  --rp-oranz-text:#A84D0A;     /* oranzovy text na bielej = 5.6:1 */
  --rp-oranz-tmavy:#96450A;
  --rp-atrament:#17232A;
  --rp-podklad:#F6F9F9;
  --rp-podklad-2:#E7F0F2;
  --rp-siva:#5B7480;
  --rp-linka:#D2DFE3;
  --rp-ok:#1E8E5A;
  --rp-radius:4px;
  --rp-tien-cta:0 4px 16px rgba(232,114,28,.28);
}

/* ========================================================= ZAKLAD TYPO */
body,
body .et_pb_module,
body p, body li, body td{
  font-family:'Public Sans',-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--rp-atrament);
}
body{ font-size:17px; line-height:1.65; background:#fff; }

h1,h2,h3,h4,h5,h6,
body h1, body h2, body h3, body h4, body h5, body h6,
.et_pb_module h1,.et_pb_module h2,.et_pb_module h3,.et_pb_module h4{
  font-family:'Outfit',"Segoe UI",Arial,sans-serif;
  color:var(--rp-petrol);
  line-height:1.12;
  letter-spacing:-.01em;
  text-wrap:balance;
}
body h1{ font-weight:800; font-size:clamp(30px,4.6vw,48px); }
body h2{ font-weight:700; font-size:clamp(24px,3.4vw,34px); }
body h3{ font-weight:700; font-size:20px; }

a{ color:var(--rp-petrol); }
a:hover{ color:var(--rp-oranz-text); }

/* DIVI 5 PASCA: builder necha sekcie na opacity:0 pre navstevnika */
.et_pb_animation_off,
.et_pb_section.et_pb_animation_off,
.et_animated{ opacity:1 !important; }

/* ============================================================= TLACIDLA */
body .et_pb_button.rp-cta,
body a.rp-cta{
  background:var(--rp-oranz-btn) !important;
  border:0 !important;
  border-radius:var(--rp-radius) !important;
  color:#fff !important;
  font-family:'Outfit',Arial,sans-serif !important;
  font-weight:700 !important;
  font-size:18px !important;
  letter-spacing:0 !important;
  padding:14px 28px !important;
  box-shadow:var(--rp-tien-cta);
  text-decoration:none;
  display:inline-block;
  transition:background .18s ease, transform .18s ease;
}
body .et_pb_button.rp-cta:hover,
body a.rp-cta:hover{
  background:var(--rp-oranz-btn-hover) !important;
  color:#fff !important;
  transform:translateY(-1px);
  padding:14px 28px !important;
}
body .et_pb_button.rp-cta:after,
body a.rp-cta:after{ display:none !important; }

body .et_pb_button.rp-cta-biela,
body a.rp-cta-biela{
  background:transparent !important;
  border:2px solid rgba(255,255,255,.65) !important;
  border-radius:var(--rp-radius) !important;
  color:#fff !important;
  font-family:'Outfit',Arial,sans-serif !important;
  font-weight:600 !important;
  padding:12px 24px !important;
  text-decoration:none;
  display:inline-block;
}
body .et_pb_button.rp-cta-biela:hover,
body a.rp-cta-biela:hover{
  background:rgba(255,255,255,.14) !important;
  border-color:#fff !important;
  color:#fff !important;
  padding:12px 24px !important;
}
body .et_pb_button.rp-cta-biela:after{ display:none !important; }

/* ========================================================= MOBILNA LISTA */
.rp-mobilna-lista{
  position:fixed; left:0; right:0; bottom:0; z-index:9999;
  display:none; grid-template-columns:1fr 1fr; gap:1px;
  background:var(--rp-linka);
  box-shadow:0 -2px 14px rgba(0,0,0,.14);
}
.rp-mobilna-lista a{
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 8px;
  font-family:'Outfit',Arial,sans-serif; font-weight:700; font-size:16px;
  text-decoration:none;
}
.rp-mobilna-lista .rp-tel{ background:var(--rp-petrol); color:#fff; }
.rp-mobilna-lista .rp-dopyt{ background:var(--rp-oranz-btn); color:#fff; }
.rp-mobilna-lista svg{ width:19px; height:19px; fill:currentColor; flex:0 0 auto; }
@media (max-width:980px){
  .rp-mobilna-lista{ display:grid; }
  body{ padding-bottom:58px; }
}

/* =============================================================== TABULKY */
.rp-tab-obal{ overflow-x:auto; border:1px solid var(--rp-linka); border-radius:var(--rp-radius); }
.rp-tabulka{ width:100%; border-collapse:collapse; font-size:16px; background:#fff; }
.rp-tabulka th,.rp-tabulka td{
  padding:12px 14px; text-align:left; vertical-align:top;
  border-bottom:1px solid var(--rp-linka);
}
.rp-tabulka th{
  background:var(--rp-podklad-2); color:var(--rp-siva);
  font-family:'Outfit',Arial,sans-serif; font-weight:600;
  font-size:13px; letter-spacing:.04em; text-transform:uppercase;
}
.rp-tabulka td.rp-cena{
  font-variant-numeric:tabular-nums; white-space:nowrap;
  font-weight:700; color:var(--rp-petrol);
}
.rp-tabulka tr:last-child td{ border-bottom:0; }

/* =================================================================== FAQ */
.rp-faq{ border:1px solid var(--rp-linka); border-radius:var(--rp-radius); overflow:hidden; background:#fff; }
.rp-faq details{ border-bottom:1px solid var(--rp-linka); }
.rp-faq details:last-child{ border-bottom:0; }
.rp-faq summary{
  cursor:pointer; padding:16px 48px 16px 18px; position:relative; list-style:none;
  font-family:'Outfit',Arial,sans-serif; font-weight:600; font-size:17px; color:var(--rp-petrol);
}
.rp-faq summary::-webkit-details-marker{ display:none; }
.rp-faq summary:after{
  content:""; position:absolute; right:20px; top:50%; width:9px; height:9px;
  border-right:2px solid var(--rp-oranz); border-bottom:2px solid var(--rp-oranz);
  transform:translateY(-70%) rotate(45deg); transition:transform .2s ease;
}
.rp-faq details[open] summary:after{ transform:translateY(-30%) rotate(-135deg); }
.rp-faq .rp-faq-telo{ padding:0 18px 18px; }

/* ================================================================= KARTY */
.rp-karty{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; }
.rp-karta{
  background:#fff; border:1px solid var(--rp-linka); border-radius:var(--rp-radius);
  padding:20px 22px; display:flex; flex-direction:column; gap:8px;
}
.rp-karta h3{ margin:0; font-size:19px; }
.rp-karta .rp-od{
  font-family:'Outfit',Arial,sans-serif; font-weight:800; font-size:22px;
  color:var(--rp-oranz-text); font-variant-numeric:tabular-nums;
}
.rp-karta p{ margin:0; color:var(--rp-siva); font-size:15.5px; }
.rp-karta a.rp-viac{ margin-top:auto; font-weight:600; text-decoration:none; }

/* ================================================================= KROKY */
.rp-kroky{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; counter-reset:k; }
.rp-krok{ background:#fff; border:1px solid var(--rp-linka); border-radius:var(--rp-radius); padding:18px 20px; }
.rp-krok:before{
  counter-increment:k; content:counter(k);
  display:inline-grid; place-items:center; width:30px; height:30px; margin-bottom:10px;
  background:var(--rp-petrol); color:#fff; border-radius:50%;
  font-family:'Outfit',Arial,sans-serif; font-weight:800; font-size:15px;
}
.rp-krok h3{ font-size:17px; margin:0 0 4px; }
.rp-krok p{ margin:0; font-size:15.5px; color:var(--rp-siva); }

/* ============================================================ PRUH DOVERY */
.rp-dovera{ display:flex; flex-wrap:wrap; gap:10px 26px; align-items:center; }
.rp-dovera span{ display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:16px; }
.rp-dovera svg{ width:18px; height:18px; fill:var(--rp-ok); flex:0 0 auto; }

/* =========================================================== PRISTUPNOST */
a:focus-visible,button:focus-visible,input:focus-visible,
textarea:focus-visible,select:focus-visible,summary:focus-visible{
  outline:3px solid var(--rp-oranz); outline-offset:2px;
}
@media (prefers-reduced-motion: reduce){
  *,*:before,*:after{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* ============================================================= DROBNOSTI */
img{ max-width:100%; height:auto; }
.rp-obal{ max-width:1180px; margin:0 auto; padding:0 22px; }

/* ================================================================== HERO */
.rp-hero, body .et_pb_section.rp-hero{ background:var(--rp-petrol) !important; }
.rp-hero h1, .rp-hero h2, .rp-hero .et_pb_heading_container h1{ color:#fff !important; }
.rp-hero p, .rp-hero .et_pb_text, .rp-hero li{ color:#DCEAEE !important; }
.rp-perex{ font-size:19px; line-height:1.6; max-width:34em; }
.rp-hero-odrazky{ list-style:none; margin:18px 0 0; padding:0; display:grid; gap:9px; }
.rp-hero-odrazky li{
  display:flex; align-items:flex-start; gap:10px;
  font-size:16.5px; color:#DCEAEE;
}
.rp-hero-odrazky svg{ width:19px; height:19px; fill:var(--rp-oranz); flex:0 0 auto; margin-top:3px; }
.rp-hero-riadok{ align-items:start; }

/* ============================================================== FORMULAR */
.rp-form-karta{
  background:#fff; border-radius:var(--rp-radius) var(--rp-radius) 0 0;
  padding:18px 20px 4px; border:1px solid var(--rp-linka); border-bottom:0;
}
.rp-form-badge{
  display:block; font-family:'Outfit',Arial,sans-serif; font-weight:800;
  font-size:20px; color:var(--rp-petrol);
}
.rp-form-pod{ margin:4px 0 0; font-size:15px; color:var(--rp-siva); }

body .rp-form.et_pb_contact_form_container,
body .rp-form{
  background:#fff;
  border:1px solid var(--rp-linka); border-top:0;
  border-radius:0 0 var(--rp-radius) var(--rp-radius);
  padding:6px 20px 20px; margin-top:0;
}
body .rp-form .et_pb_contact_field{ padding:0 0 12px !important; }
body .rp-form input[type=text],
body .rp-form input[type=email],
body .rp-form textarea,
body .rp-form .input{
  background:var(--rp-podklad) !important;
  border:1px solid var(--rp-linka) !important;
  border-radius:var(--rp-radius) !important;
  color:var(--rp-atrament) !important;
  font-family:'Public Sans',Arial,sans-serif !important;
  font-size:16px !important;
  padding:12px 14px !important;
  width:100%;
}
body .rp-form input::placeholder,
body .rp-form textarea::placeholder{ color:var(--rp-siva) !important; opacity:1; }
body .rp-form textarea{ min-height:96px; }
body .rp-form .et_pb_contact_submit,
body .rp-form button[type=submit]{
  background:var(--rp-oranz-btn) !important;
  border:0 !important; border-radius:var(--rp-radius) !important;
  color:#fff !important;
  font-family:'Outfit',Arial,sans-serif !important;
  font-weight:700 !important; font-size:18px !important;
  padding:14px 26px !important; width:100%;
  box-shadow:var(--rp-tien-cta); cursor:pointer;
}
body .rp-form .et_pb_contact_submit:hover{ background:var(--rp-oranz-btn-hover) !important; padding:14px 26px !important; }
body .rp-form .et_pb_contact_submit:after{ display:none !important; }
body .rp-form .et_pb_contact_captcha_question,
body .rp-form .et_pb_contact_right{ color:var(--rp-siva); font-size:15px; }

/* ============================================================== CTA PRUH */
.rp-sekcia-cta, body .et_pb_section.rp-sekcia-cta{ background:var(--rp-petrol-tmavy) !important; }
.rp-sekcia-cta h2, .rp-cta-nadpis{ color:#fff !important; }
.rp-sekcia-cta p, .rp-cta-text{ color:#CFE2E8 !important; max-width:46em; }
.rp-sekcia-cta .et_pb_button_module_wrapper{ margin-top:18px; }

/* ================================================================ PODKLAD */
.rp-pruh-dovery, body .et_pb_section.rp-pruh-dovery{ background:var(--rp-podklad) !important; }
.rp-sekcia-kroky, body .et_pb_section.rp-sekcia-kroky{ background:var(--rp-podklad) !important; }

/* =============================================================== DROBNOSTI */
.rp-pozn{ font-size:15px; color:var(--rp-siva); margin-top:12px; }
.rp-odrazky{ margin:14px 0; padding-left:20px; }
.rp-odrazky li{ margin:7px 0; }
.rp-sekcia-karty h2, .rp-sekcia-kroky h2, .rp-sekcia-cennik h2, .rp-sekcia-faq h2{ margin-bottom:18px; }
.rp-karta a.rp-viac{ color:var(--rp-petrol); }
.rp-karta a.rp-viac:hover{ color:var(--rp-oranz); }

@media (max-width:980px){
  .rp-hero-riadok{ gap:26px; }
  .rp-perex{ font-size:17.5px; }
}

/* ===================== ROBUSTNE PREBITIE DIVI (vyssia specificita) ====== */
body .et_pb_section.rp-hero h1,
body .et_pb_section.rp-hero h2,
body .et_pb_section.rp-hero .et_pb_heading_container h1,
body .et_pb_section.rp-hero .et_pb_module h1{ color:#fff !important; }

body .et_pb_section.rp-hero p,
body .et_pb_section.rp-hero .et_pb_text,
body .et_pb_section.rp-hero .et_pb_text p,
body .et_pb_section.rp-hero .rp-perex,
body .et_pb_section.rp-hero .rp-hero-odrazky li{ color:#DCEAEE !important; }

body .et_pb_section.rp-sekcia-cta h2,
body .et_pb_section.rp-sekcia-cta .et_pb_heading_container h2{ color:#fff !important; }
body .et_pb_section.rp-sekcia-cta p,
body .et_pb_section.rp-sekcia-cta .et_pb_text p{ color:#CFE2E8 !important; }

/* CTA tlacidlo: Divi dava .et_pb_button transparentne pozadie */
body .et_pb_button_module_wrapper .et_pb_button.rp-cta,
body a.et_pb_button.rp-cta,
body .rp-sekcia-cta .et_pb_button{
  background-color:var(--rp-oranz-btn) !important;
  border-color:var(--rp-oranz-btn) !important;
  color:#fff !important;
}
body .et_pb_button_module_wrapper .et_pb_button.rp-cta:hover,
body .rp-sekcia-cta .et_pb_button:hover{
  background-color:var(--rp-oranz-btn-hover) !important;
  border-color:var(--rp-oranz-btn-hover) !important;
  color:#fff !important;
}

/* Odosielacie tlacidlo formulara */
body .rp-form .et_pb_contact_submit,
body .et_pb_contact_form_container.rp-form .et_pb_button,
body form .et_pb_contact_submit.et_pb_button{
  background-color:var(--rp-oranz-btn) !important;
  border-color:var(--rp-oranz-btn) !important;
  color:#fff !important;
}
body .rp-form .et_pb_contact_submit:hover{
  background-color:var(--rp-oranz-btn-hover) !important;
  color:#fff !important;
}

/* ================================================================ PATICKA */
#main-footer{ display:none !important; }
.rp-paticka{ background:var(--rp-petrol-tmavy); color:#CFE2E8; padding:52px 0 0; }
.rp-paticka-obal{
  max-width:1180px; margin:0 auto; padding:0 22px;
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1.1fr; gap:34px;
}
.rp-paticka h2{
  font-family:'Outfit',Arial,sans-serif; font-size:15px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; color:#8FBFCE;
  margin:0 0 12px;
}
.rp-paticka-logo{
  display:block; font-family:'Outfit',Arial,sans-serif; font-weight:800;
  font-size:21px; color:#fff; margin-bottom:10px;
}
.rp-paticka p{ color:#B6D2DA; font-size:15.5px; margin:0 0 16px; max-width:34em; }
.rp-paticka ul{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.rp-paticka li{ font-size:15.5px; color:#B6D2DA; }
.rp-paticka a{ color:#DCEAEE; text-decoration:none; }
.rp-paticka a:hover{ color:#fff; text-decoration:underline; }
.rp-paticka .rp-cta{ margin-top:4px; font-size:16px !important; padding:12px 22px !important; }
.rp-paticka-oblasti{ grid-template-columns:1fr 1fr; }
.rp-paticka-spodok{
  margin-top:40px; border-top:1px solid rgba(255,255,255,.14);
  padding:18px 22px; max-width:1180px; margin-left:auto; margin-right:auto;
  display:flex; flex-wrap:wrap; gap:8px 26px; justify-content:space-between;
  font-size:14px; color:#8FBFCE;
}
@media (max-width:980px){
  .rp-paticka-obal{ grid-template-columns:1fr 1fr; gap:28px; }
  .rp-paticka{ padding-bottom:64px; }
}
@media (max-width:560px){
  .rp-paticka-obal{ grid-template-columns:1fr; }
}

/* ========================================================== HLAVICKA LOGO */
#logo{ display:none !important; }
.logo_container:before{
  content:"Rekonštrukcie Poprad";
  font-family:'Outfit',Arial,sans-serif; font-weight:800; font-size:20px;
  color:var(--rp-petrol); letter-spacing:-.01em; white-space:nowrap;
  position:absolute; top:50%; left:0; transform:translateY(-50%);
}
#et-top-navigation{ padding-top:22px !important; }
@media (max-width:980px){
  .logo_container:before{ font-size:17px; }
}

/* ============================================== DROBNE OPRAVY PO KONTROLE */
.rp-form-pod{ color:var(--rp-atrament); font-weight:500; }
.rp-sekcia-karty .et_pb_row{ padding-bottom:0 !important; }
.rp-text .et_pb_row{ padding-top:0 !important; }
body .et_pb_section.rp-sekcia-karty{ padding-bottom:46px !important; }
body .et_pb_section.rp-text{ padding-top:46px !important; }

/* Karta formulara je biela aj v tmavom hero - hero farby sa na nu nesmu vztahovat */
body .et_pb_section.rp-hero .rp-form-karta,
body .et_pb_section.rp-hero .rp-form-karta *,
body .et_pb_section.rp-hero .rp-form,
body .et_pb_section.rp-hero .rp-form p,
body .et_pb_section.rp-hero .rp-form label,
body .et_pb_section.rp-hero .rp-form span{ color:var(--rp-atrament) !important; }
body .et_pb_section.rp-hero .rp-form-karta .rp-form-badge{ color:var(--rp-petrol) !important; }
body .et_pb_section.rp-hero .rp-form-karta .rp-form-pod{ color:var(--rp-siva) !important; }
body .et_pb_section.rp-hero .rp-form .et_pb_contact_submit{ color:#fff !important; }
body .et_pb_section.rp-hero .rp-form input,
body .et_pb_section.rp-hero .rp-form textarea{ color:var(--rp-atrament) !important; }

/* ============================ MOBIL: ZIADNY HORIZONTALNY PRETOK ========= */
html, body{ max-width:100%; overflow-x:hidden; }

/* Divi stlpce/riadky su flex - bez min-width:0 ich siroky obsah roztiahne */
body .et_pb_row, body .et_pb_column, body .et_pb_module,
body .et_pb_section, body .et_pb_with_border{ min-width:0; }

/* Tabulka scrolluje VNUTRI svojho obalu, nie cez celu stranku */
.rp-tab-obal{ width:100%; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.rp-tabulka{ min-width:420px; }
@media (max-width:560px){
  .rp-tabulka{ min-width:380px; font-size:15px; }
  .rp-tabulka th, .rp-tabulka td{ padding:10px 11px; }
}

/* Divi formular: captcha a tlacidlo sa na mobile zalamu, nie pretecu */
body .rp-form .et_contact_bottom_container{
  display:flex; flex-wrap:wrap; gap:12px; align-items:center;
  float:none !important; width:100% !important; max-width:100%;
}
body .rp-form .et_pb_button_wrapper{ float:none !important; flex:1 1 auto; min-width:0; }
body .rp-form .et_pb_contact_submit{ width:100%; max-width:100%; }
body .rp-form .et_pb_contact_captcha_question{ flex:0 0 auto; }
@media (max-width:560px){
  body .rp-form .et_contact_bottom_container{ flex-direction:column; align-items:stretch; }
}

/* Dlhe slova a URL sa lamu, nerozsiruju stranku */
body p, body li, body td, body h1, body h2, body h3, .rp-karta, .rp-faq summary{
  overflow-wrap:break-word;
}

/* ======================================================= HERO S FOTOGRAFIOU
 * Divi 5 ignoruje background_image atribut, preto pozadie cez triedu.
 * Zavoj je dost tmavy, aby biely text drzal kontrast nad 7:1.
 */
body .et_pb_section.rp-hero[class*="rp-foto-"]{
  background-size:cover !important;
  background-position:center 40% !important;
  background-repeat:no-repeat !important;
  position:relative;
}
body .et_pb_section.rp-hero[class*="rp-foto-"] > *{ position:relative; z-index:2; }

body .et_pb_section.rp-foto-hero-domov{
  --rp-hero-foto:url("/wp-content/uploads/rp/hero-domov.jpg");
  background-image:linear-gradient(100deg, rgba(10,54,68,.97) 0%, rgba(12,64,78,.92) 46%, rgba(15,76,92,.70) 100%),
    url("/wp-content/uploads/rp/hero-domov.jpg") !important;
}
body .et_pb_section.rp-foto-hero-byt{
  --rp-hero-foto:url("/wp-content/uploads/rp/hero-byt.jpg");
  background-image:linear-gradient(100deg, rgba(10,54,68,.97) 0%, rgba(12,64,78,.92) 46%, rgba(15,76,92,.70) 100%),
    url("/wp-content/uploads/rp/hero-byt.jpg") !important;
}
body .et_pb_section.rp-foto-hero-kupelna{
  --rp-hero-foto:url("/wp-content/uploads/rp/hero-kupelna.jpg");
  background-image:linear-gradient(100deg, rgba(10,54,68,.97) 0%, rgba(12,64,78,.92) 46%, rgba(15,76,92,.70) 100%),
    url("/wp-content/uploads/rp/hero-kupelna.jpg") !important;
}
body .et_pb_section.rp-foto-hero-jadro{
  --rp-hero-foto:url("/wp-content/uploads/rp/hero-jadro.jpg");
  background-image:linear-gradient(100deg, rgba(10,54,68,.97) 0%, rgba(12,64,78,.92) 46%, rgba(15,76,92,.70) 100%),
    url("/wp-content/uploads/rp/hero-jadro.jpg") !important;
}
body .et_pb_section.rp-foto-hero-cennik{
  --rp-hero-foto:url("/wp-content/uploads/rp/hero-cennik.jpg");
  background-image:linear-gradient(100deg, rgba(10,54,68,.97) 0%, rgba(12,64,78,.92) 46%, rgba(15,76,92,.70) 100%),
    url("/wp-content/uploads/rp/hero-cennik.jpg") !important;
}
body .et_pb_section.rp-foto-hero-ponuka{
  --rp-hero-foto:url("/wp-content/uploads/rp/hero-ponuka.jpg");
  background-image:linear-gradient(100deg, rgba(10,54,68,.97) 0%, rgba(12,64,78,.92) 46%, rgba(15,76,92,.70) 100%),
    url("/wp-content/uploads/rp/hero-ponuka.jpg") !important;
}
@media (max-width:980px){
  /* na mobile je text cez celu sirku, zavoj musi byt rovnomerne tmavy */
  body .et_pb_section.rp-hero[class*="rp-foto-"]{
    background-image:linear-gradient(rgba(10,54,68,.95), rgba(12,64,78,.93)),
      var(--rp-hero-foto, none) !important;
  }
}

/* ========================================================= FOTO + TEXT BLOK */
.rp-sekcia-foto .rp-foto-riadok{ align-items:center; }
.rp-figura{ margin:0; }
.rp-figura img{
  display:block; width:100%; height:auto;
  border-radius:var(--rp-radius);
  aspect-ratio:3/2; object-fit:cover;
}
.rp-sekcia-foto h2{ margin-bottom:12px; }
@media (max-width:980px){
  .rp-sekcia-foto .et_pb_column{ margin-bottom:22px !important; }
  .rp-sekcia-foto .et_pb_column:last-child{ margin-bottom:0 !important; }
}

/* ================================================================ GALERIA */
.rp-galeria{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:16px;
}
.rp-dlazdica{ margin:0; display:flex; flex-direction:column; }
.rp-dlazdica img{
  display:block; width:100%; height:auto;
  aspect-ratio:3/2; object-fit:cover;
  border-radius:var(--rp-radius) var(--rp-radius) 0 0;
}
.rp-dlazdica figcaption{
  background:#fff; border:1px solid var(--rp-linka); border-top:0;
  border-radius:0 0 var(--rp-radius) var(--rp-radius);
  padding:11px 14px; font-size:15px; color:var(--rp-siva); flex:1;
}
.rp-sekcia-galeria .rp-pozn{ margin-top:14px; }

/* karty sluzieb dostanu tenky oranzovy prah hore */
.rp-karta{ border-top:3px solid var(--rp-oranz); }

/* ===================== GALERIA: 3 stlpce, rovnake vysky dlazdic ========= */
@media (min-width:860px){
  .rp-galeria{ grid-template-columns:repeat(3,1fr); }
}
.rp-galeria{ grid-auto-rows:1fr; }
.rp-dlazdica{ height:100%; }
.rp-dlazdica figcaption{
  display:flex; align-items:center; min-height:58px; line-height:1.4;
}

/* Foto blok: fotka vyplni stlpec a zarovna sa s textom */
.rp-sekcia-foto .et_pb_column{ display:flex; flex-direction:column; justify-content:center; }
.rp-figura img{ aspect-ratio:4/3; }
@media (min-width:981px){
  .rp-sekcia-foto .rp-foto-riadok .et_pb_column{ padding:0 !important; }
  .rp-sekcia-foto .et_pb_module{ margin-bottom:0; }
  .rp-sekcia-foto .et_pb_text{ margin-bottom:14px; }
}
