/*
Theme Name: Michal Ochranek Child
Theme URI: https://michalochranek.sk
Description: Child téma pre Divi 5 — tmavý neón / liquid štýl one-page webu (weby, SEO, marketing).
Author: Michal Ochranek
Template: Divi
Version: 2.0.0
*/

/* =================================================================
   TOKENS — DARK NEON / LIQUID
   ================================================================= */
:root{
  --bg:#08060E; --bg2:#0E0A18; --surface:rgba(255,255,255,.045);
  --ink:#F4F0FF; --muted:#A79DC4; --line:rgba(255,255,255,.10);
  --pink:#FF2EA6; --magenta:#F81CE5; --purple:#A855F7; --orange:#FF7A3D; --yellow:#FFE03D;
  --grad:linear-gradient(100deg,#FF2EA6,#A855F7 55%,#FF7A3D);
  --radius:18px;
  --display:'Space Grotesk',system-ui,sans-serif; --body:'Inter',system-ui,sans-serif;
}

/* ---- make the whole site dark ---- */
body, #page-container, #main-content, .et_pb_section{ background-color:var(--bg) !important; color:var(--ink); }
body{ font-family:var(--body); }
#main-content{ background:
  radial-gradient(40% 26% at 86% 4%,rgba(168,85,247,.16),transparent 70%),
  radial-gradient(34% 26% at 8% 92%,rgba(255,46,166,.12),transparent 70%),
  var(--bg) !important; }
.mo-hero, .mo-tools, .mo-services, .mo-reviews, .mo-contact, .mo-footcta, .mo-foot{ font-family:var(--body); color:var(--ink); }
.mo-hero h1,.mo-hero h2,.mo-services h2,.mo-services h3,.mo-reviews h2,.mo-contact h2,.mo-footcta h2,.mo-foot .mo-brand{
  font-family:var(--display) !important; letter-spacing:-0.02em; line-height:1.06; color:var(--ink); }

/* fix <p> wrapping inside label-ish text modules */
.mo-eyebrow .et_pb_text_inner p,.mo-trust .et_pb_text_inner p,.mo-kicker .et_pb_text_inner p,
.mo-sub .et_pb_text_inner p,.mo-ci .et_pb_text_inner p,.mo-h1 .et_pb_text_inner p,.mo-h2 .et_pb_text_inner p{ margin:0;padding:0; }

/* =================================================================
   HERO
   ================================================================= */
.mo-hero{ position:relative; overflow:hidden; padding:74px 0 80px !important;
  background:var(--bg) url('img/blob-hero.png') right -40px center/auto 118% no-repeat !important; }
@media(max-width:980px){ .mo-hero{ background-size:auto 60%; background-position:right -30px top 40px; } }
.mo-hero .et_pb_row{ position:relative; z-index:2; }

/* eyebrow → neon pill */
.mo-eyebrow .et_pb_text_inner,.mo-eyebrow{ display:inline-flex; align-items:center; gap:10px;
  font-size:12px !important; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#fff !important;
  padding:9px 18px; border-radius:999px; border:1px solid rgba(255,46,166,.45); background:rgba(255,46,166,.08);
  box-shadow:0 0 24px rgba(255,46,166,.25),inset 0 0 16px rgba(255,46,166,.12); }
.mo-eyebrow .et_pb_text_inner::before{ content:""; width:9px; height:9px; border-radius:50%; background:var(--yellow);
  box-shadow:0 0 10px var(--yellow); display:inline-block; animation:mo-pulse 2s infinite; }
@keyframes mo-pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* H1 */
.mo-hero h1,.mo-h1 h1,.mo-h1 .et_pb_text_inner{ color:#fff; font-weight:700;
  font-size:clamp(40px,6vw,68px) !important; line-height:1.05 !important; max-width:14ch; }
.mo-h1 .mo-u{ position:relative; white-space:nowrap; color:#fff; }
.mo-h1 .mo-u::after{ content:""; position:absolute; left:-1%; right:-1%; bottom:.02em; height:.16em; border-radius:4px;
  background:var(--yellow); box-shadow:0 0 12px rgba(255,224,61,.75); transform:rotate(-.6deg); }

/* lead */
.mo-lead .et_pb_text_inner,.mo-lead{ color:var(--muted) !important; font-size:clamp(16px,2vw,19px) !important;
  line-height:1.6 !important; max-width:46ch; }

/* button → neon gradient */
.mo-hero .et_pb_button,.mo-footcta .et_pb_button,.mo-contact .et_pb_button_module .et_pb_button{
  background:var(--grad) !important; background-size:200% 100% !important; color:#fff !important; font-family:var(--body) !important;
  font-weight:700 !important; font-size:15px !important; padding:15px 30px !important; border:none !important; border-radius:999px !important;
  box-shadow:0 10px 30px -8px rgba(255,46,166,.6) !important; transition:.3s !important; }
.mo-hero .et_pb_button:hover,.mo-footcta .et_pb_button:hover{ background-position:100% 0 !important; transform:translateY(-2px);
  box-shadow:0 14px 38px -8px rgba(168,85,247,.7) !important; padding:15px 30px !important; }

/* trust line → neon stat card */
.mo-trust .et_pb_text_inner,.mo-trust{ display:inline-block; margin-top:26px !important; color:var(--ink) !important;
  font-size:14px !important; padding:13px 22px; border-radius:14px; border:1px solid rgba(168,85,247,.4);
  background:rgba(168,85,247,.07); box-shadow:0 0 30px rgba(168,85,247,.2),inset 0 0 18px rgba(168,85,247,.07); }
.mo-trust b{ color:#fff; } .mo-trust .mo-stars{ color:var(--yellow); text-shadow:0 0 10px rgba(255,224,61,.5); }

/* dog / hero photo → neon frame */
.mo-hero .et_pb_column:last-child .et_pb_image img{ border-radius:20px !important; border:1px solid rgba(255,46,166,.4);
  box-shadow:0 0 50px rgba(168,85,247,.45) !important; }
.mo-hero .et_pb_column:last-child .et_pb_text{ color:var(--muted); }

/* =================================================================
   TOOLS
   ================================================================= */
.mo-tools{ background:rgba(255,255,255,.015) !important; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:24px 0 !important; }
.mo-tools-strip p{ text-align:center; font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.1em; font-weight:600; margin:0 0 15px; }
.mo-logos{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px 34px; }
.mo-logos span{ font-family:var(--display); font-weight:600; font-size:16px; color:#6b6385; transition:.25s; }
.mo-logos span:hover{ color:#fff; text-shadow:0 0 16px rgba(168,85,247,.6); }

/* =================================================================
   SECTION HEADINGS
   ================================================================= */
.mo-services,.mo-reviews,.mo-contact{ padding:88px 0 !important; }
.mo-kicker .et_pb_text_inner,.mo-kicker{ font-size:12px !important; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent !important; }
.mo-h2 h2,.mo-h2 .et_pb_text_inner{ color:#fff; font-size:clamp(29px,3.8vw,44px) !important; line-height:1.08 !important; }
.mo-sub .et_pb_text_inner,.mo-sub{ color:var(--muted) !important; font-size:17px !important; }

/* =================================================================
   SERVICES → glassy neon cards
   ================================================================= */
.mo-services .et_pb_blurb{ position:relative; background:var(--surface) !important; border:1px solid var(--line); border-radius:var(--radius);
  padding:34px 30px 30px !important; overflow:hidden; transition:.3s; height:100%; backdrop-filter:blur(6px); }
.mo-services .et_pb_blurb:hover{ transform:translateY(-6px); border-color:rgba(255,46,166,.5);
  box-shadow:0 24px 50px -24px rgba(168,85,247,.55); }
.mo-services .et_pb_blurb::after{ counter-increment:mo-card; content:"0" counter(mo-card); position:absolute; top:26px; right:30px;
  font-family:var(--display); font-weight:700; font-size:14px; color:#564f6e; }
.mo-services .et_pb_row{ counter-reset:mo-card; }
.mo-services .et_pb_main_blurb_image{ margin-bottom:20px; }
.mo-services .et_pb_main_blurb_image .et-pb-icon{ width:58px !important; height:58px !important; line-height:58px !important; font-size:28px !important;
  display:flex !important; align-items:center; justify-content:center; border-radius:15px; color:#fff !important;
  background:rgba(168,85,247,.15); border:1px solid rgba(168,85,247,.4); box-shadow:0 0 22px rgba(168,85,247,.35); }
.mo-services .et_pb_module_header{ font-family:var(--display) !important; font-size:21px !important; color:#fff !important; margin-bottom:10px !important; }
.mo-services .et_pb_blurb_description{ color:var(--muted) !important; font-size:15px !important; line-height:1.6; }

/* =================================================================
   REVIEWS (Trustindex sedí v tmavom; karty ostávajú)
   ================================================================= */
.mo-reviews{ background:var(--bg2) !important; }

/* =================================================================
   CONTACT → neon form
   ================================================================= */
.mo-contact .et_pb_contact{ background:var(--surface) !important; border:1px solid var(--line); border-radius:var(--radius);
  padding:32px !important; backdrop-filter:blur(6px); box-shadow:0 0 40px rgba(168,85,247,.12); }
.mo-contact .et_pb_contact_form input,.mo-contact .et_pb_contact_form textarea{ width:100% !important; font-family:var(--body) !important;
  font-size:15px !important; color:var(--ink) !important; background:rgba(255,255,255,.04) !important; border:1px solid var(--line) !important;
  border-radius:11px !important; padding:14px 16px !important; }
.mo-contact .et_pb_contact_form input::placeholder,.mo-contact .et_pb_contact_form textarea::placeholder{ color:#6b6385 !important; }
.mo-contact .et_pb_contact_form input:focus,.mo-contact .et_pb_contact_form textarea:focus{ border-color:var(--pink) !important; box-shadow:0 0 0 3px rgba(255,46,166,.15) !important; }
.mo-contact .et_pb_contact_form textarea{ min-height:120px !important; }
.mo-contact .et_pb_contact_submit{ width:100% !important; justify-content:center; background:var(--grad) !important; color:#fff !important;
  font-family:var(--body) !important; font-weight:700 !important; padding:15px 30px !important; border:none !important; border-radius:999px !important;
  box-shadow:0 10px 30px -8px rgba(255,46,166,.6) !important; }
.mo-contact .et_pb_contact_field{ background:transparent !important; padding:0 0 16px !important; }
.mo-contact .et_pb_contact_field_options_title{ color:var(--ink) !important; }
.mo-ci-row{ display:flex; align-items:center; gap:14px; margin-bottom:15px; font-weight:600; color:var(--ink); }
.mo-ci-row .mo-cic{ width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
  font-size:19px; color:#fff; background:rgba(255,46,166,.12); border:1px solid rgba(255,46,166,.4); box-shadow:0 0 18px rgba(255,46,166,.3); }
.mo-ci-row a{ color:var(--ink); } .mo-ci-row small{ display:block; color:var(--muted); font-weight:400; font-size:13px; }

/* =================================================================
   FOOTER CTA (wide blob) + FOOTER
   ================================================================= */
.mo-footcta{ position:relative; overflow:hidden; padding:80px 0 !important;
  background:#0b0712 url('img/blob-wide.png') center right/cover no-repeat !important; }
.mo-footcta .et_pb_row{ position:relative; z-index:2; align-items:center; }
.mo-footcta h2,.mo-footcta .et_pb_text_inner{ color:#fff !important; font-size:clamp(27px,3.6vw,42px) !important; line-height:1.1 !important; }
.mo-footcta .mo-em{ color:var(--pink); text-shadow:0 0 26px rgba(255,46,166,.6); }

.mo-foot{ background:#08060E !important; border-top:1px solid var(--line); padding:30px 0 !important; }
.mo-foot-in{ display:flex; flex-wrap:wrap; gap:12px 26px; justify-content:space-between; align-items:center; color:var(--muted); font-size:13.5px; }
.mo-foot .mo-brand{ color:#fff; font-size:17px; font-weight:700; } .mo-foot .mo-brand i{ color:var(--pink); font-style:normal; }
.mo-foot .mo-legal{ display:flex; flex-wrap:wrap; gap:6px 18px; } .mo-foot a{ color:var(--muted); } .mo-foot a:hover{ color:#fff; }

/* =================================================================
   MOBILE — stack grid rows + typografia
   ================================================================= */
@media (max-width:980px){
  .mo-hero .et_pb_row,.mo-contact .et_pb_row,.mo-footcta .et_pb_row{ display:flex !important; flex-direction:column !important; grid-template-columns:1fr !important; }
  .mo-hero .et_pb_column,.mo-contact .et_pb_column,.mo-footcta .et_pb_column{ width:100% !important; max-width:100% !important; float:none !important; margin:0 0 26px !important; }
  .mo-hero .et_pb_column:last-child,.mo-contact .et_pb_column:last-child,.mo-footcta .et_pb_column:last-child{ margin-bottom:0 !important; }
  .mo-footcta .et_pb_text,.mo-footcta .et_pb_button_module_wrapper{ text-align:center !important; } .mo-footcta .et_pb_button{ margin:0 auto !important; }
}
@media (max-width:767px){
  .mo-hero{ padding:44px 0 46px !important; }
  .mo-hero h1,.mo-h1 .et_pb_text_inner,.mo-h1 h1{ font-size:33px !important; line-height:1.12 !important; }
  .mo-services,.mo-reviews,.mo-contact{ padding:54px 0 !important; }
  .mo-h2 .et_pb_text_inner,.mo-h2 h2{ font-size:26px !important; }
  .mo-services .et_pb_column{ margin-bottom:18px !important; }
  .mo-footcta{ padding:50px 0 !important; }
  .mo-foot-in{ flex-direction:column !important; text-align:center; gap:12px; } .mo-foot .mo-legal{ justify-content:center; flex-direction:column; gap:6px; }
}
@media(prefers-reduced-motion:reduce){ .mo-eyebrow .et_pb_text_inner::before{ animation:none; } }
