/* ==========================================================================
   RP 2026 — Redesign realestate-photographer.com
   Fotos = Interface. Weiß + Tinte + ein Akzent (Poolwasser). Viel Luft.
   Reversibel: Theme "Divi" wieder aktivieren.
   ========================================================================== */

:root{
  --rp-white:#FFFFFF;
  --rp-paper:#FAFAF9;
  --rp-ink:#0D0D0D;
  --rp-text:#3A3A3A;
  --rp-mute:#8A8A85;
  --rp-pool:#0B5D5D;
  --rp-line:#E5E4E1;
  --rp-display:"Space Grotesk","Helvetica Neue",Arial,sans-serif;
  --rp-body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
}

/* ---------- Grundtypografie ---------- */
body,
.et_pb_text,
.et_pb_blurb_content,
.et_pb_toggle_content,
.et_pb_tab,
p, li, td, input, textarea, select, button{
  font-family:var(--rp-body);
  color:var(--rp-text);
}
body{
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  background:var(--rp-white);
}
h1,h2,h3,h4,h5,h6,
.et_pb_module_header,
.et_pb_slide_title,
.et_pb_promo_title,
.et_pb_pricing_heading h2,
.et_pb_toggle_title,
.et_pb_accordion .et_pb_toggle_title,
.et_pb_number_counter h3,
.et_pb_countdown_timer .title{
  font-family:var(--rp-display) !important;
  color:var(--rp-ink);
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.08;
}
h1,.et_pb_slide_title{ font-size:clamp(38px,5vw,64px); letter-spacing:-0.03em; }
h2{ font-size:clamp(30px,3.4vw,44px); }
h3{ font-size:clamp(21px,2vw,26px); }

::selection{ background:var(--rp-pool); color:#fff; }

/* ---------- Links: kein Divi-Blau ---------- */
a{ color:var(--rp-pool); }
a:hover{ color:var(--rp-ink); }
.et_pb_text a,
.et_pb_blurb_description a{ text-decoration:none; border-bottom:1px solid currentColor; }

/* ---------- Akzentfarbe global überschreiben (#2ea3f2 raus) ---------- */
.et_pb_bg_layout_light .et_pb_module_header a,
.et_color_scheme_default #main-content .et_pb_font_icon,
.et_pb_toggle_open .et_pb_toggle_title:before,
.et_pb_counter_amount,
.et_pb_circle_counter .percent p,
.et_pb_number_counter .percent-value,
.et_pb_countdown_timer .section-title{
  color:var(--rp-pool) !important;
}
.et_pb_counter_container .et_pb_counter_amount,
.et_pb_circle_counter_inner,
.et_pb_bar{ background-color:var(--rp-pool) !important; }

/* ---------- Buttons: solide Tinte, scharfe Kanten, mehr Padding ---------- */
.et_pb_button,
.et_pb_button:hover,
.et_pb_more_button,
.et_pb_contact_submit,
.et_pb_newsletter_button,
.et_pb_promo_button,
.et_pb_pricing_table_button,
.et_pb_subscribe .et_pb_newsletter_button.et_pb_button,
a.et_pb_button{
  font-family:var(--rp-display) !important;
  font-weight:500 !important;
  font-size:15px !important;
  letter-spacing:0.03em !important;
  text-transform:none !important;
  color:var(--rp-white) !important;
  background:var(--rp-ink) !important;
  border:1px solid var(--rp-ink) !important;
  border-radius:0 !important;
  padding:16px 40px !important;
  transition:background .18s ease,color .18s ease,border-color .18s ease !important;
}
.et_pb_button:before,.et_pb_button:after{ display:none !important; }
.et_pb_button:hover,
.et_pb_more_button:hover,
.et_pb_contact_submit:hover,
.et_pb_promo_button:hover,
.et_pb_pricing_table_button:hover,
a.et_pb_button:hover{
  background:var(--rp-pool) !important;
  border-color:var(--rp-pool) !important;
  color:var(--rp-white) !important;
  padding:16px 40px !important;
}
/* helle Buttons auf dunklem Grund */
.et_pb_bg_layout_dark .et_pb_button,
.et_pb_section_parallax .et_pb_button{
  background:var(--rp-white) !important;
  color:var(--rp-ink) !important;
  border-color:var(--rp-white) !important;
}
.et_pb_bg_layout_dark .et_pb_button:hover{
  background:var(--rp-pool) !important;
  color:var(--rp-white) !important;
  border-color:var(--rp-pool) !important;
}

/* ---------- Layout: breiter, mehr Luft ---------- */
.et_pb_row{ max-width:1240px; }
.et_pb_section{ padding:100px 0; }
.et_pb_section.et_pb_section_first{ padding-top:0; }
@media (max-width:980px){ .et_pb_section{ padding:64px 0; } }
.et_pb_gutters3 .et_pb_column,
.et_pb_gutters3.et_pb_row .et_pb_column{ }

/* ---------- Header ---------- */
#main-header{
  box-shadow:none !important;
  border-bottom:1px solid var(--rp-line);
}
#top-menu li a,
#et-top-navigation .menu-item a{
  font-family:var(--rp-display) !important;
  font-weight:500;
  font-size:15px !important;
  letter-spacing:0.01em;
  color:var(--rp-ink) !important;
}
#top-menu li a:hover{ color:var(--rp-pool) !important; opacity:1; }
#main-header .et_pb_menu__logo img,#logo{ max-height:48px; }
/* transparenter Header über Hero */
.et_transparent_nav #main-header,
.et_transparent_nav.et_pb_pagebuilder_layout #main-header{
  background:transparent !important;
  border-bottom-color:rgba(255,255,255,0.18);
}
.et_transparent_nav #top-menu li a{ color:var(--rp-white) !important; }

/* ---------- Bilder: keine Rundungen, sauberer ---------- */
.et_pb_image img,.et_pb_gallery_image img,.et_pb_slide_image img{ border-radius:0 !important; }

/* ---------- Formulare ---------- */
.et_pb_contact_form input,
.et_pb_contact_form textarea,
.et_pb_newsletter_form input{
  border:1px solid var(--rp-line) !important;
  border-radius:0 !important;
  background:var(--rp-white) !important;
  font-family:var(--rp-body) !important;
  padding:14px 16px !important;
}
.et_pb_contact_form input:focus,
.et_pb_contact_form textarea:focus{ border-color:var(--rp-ink) !important; outline:none; }

/* ---------- Preistabellen entschärfen (falls sichtbar) ---------- */
.et_pb_pricing_table{
  border:1px solid var(--rp-line) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:var(--rp-white) !important;
}
.et_pb_pricing_table.et_pb_featured_table{ border-color:var(--rp-ink) !important; }
.et_pb_pricing .et_pb_dollar_sign,
.et_pb_pricing .et_pb_sum{ color:var(--rp-ink) !important; font-family:var(--rp-display) !important; }
.et_pb_pricing_heading{ background:var(--rp-paper) !important; }
.et_pb_best_value{ background:var(--rp-pool) !important; }

/* ---------- Footer ---------- */
#main-footer{ background:var(--rp-ink); }
#footer-bottom{ background:var(--rp-ink); border-top:1px solid rgba(255,255,255,0.08); }
#footer-info,#footer-bottom .et-social-icons a{ color:rgba(255,255,255,0.6); }
#main-footer .et_pb_widget h4.title{ font-family:var(--rp-display); color:#fff; }

/* ---------- Divi Blog / Portfolio Karten ruhiger ---------- */
.et_pb_post{ border:0 !important; }
.et_pb_blog_grid .et_pb_post{ box-shadow:none !important; }

/* ---------- Divi-Kern-Stylesheet: restliche #2ea3f2 überschreiben ---------- */
.et_pb_bg_layout_light .et_pb_more_button,
.et_pb_bg_layout_light_tablet .et_pb_more_button,
.et_pb_bg_layout_light_phone .et_pb_more_button,
.nav-single a, .posted_in a,
#main-content .entry-content a,
.et_pb_widget a{ color:var(--rp-pool); }
.et-search-form{ border-color:var(--rp-line) !important; }
blockquote{ border-color:var(--rp-pool) !important; }
input[type="submit"],
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  background:var(--rp-ink) !important; color:#fff !important; border-radius:0 !important;
}
.et_pb_bg_layout_light.et_pb_text a{ color:var(--rp-pool); }
