/* Reality Andalúzia — základ + responzívne pravidlá (zjednotené z prototypu).
   Dizajn používa inline štýly 1:1 z prototypu; tento súbor nesie reset,
   keyframes, focus stavy a @media pravidlá viazané na data-atribúty. */

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #FAF6EF; color: #211C16; font-family: 'Manrope', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
::selection { background: #C2683E; color: #FAF6EF; }
img { max-width: 100%; }
[id] { scroll-margin-top: 96px; }

@keyframes raSlowZoom { from { transform: scale(1.06); } to { transform: scale(1); } }
@keyframes raFadeNav { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes raOverlayIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes raModalIn { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }
@keyframes raDrawerIn { from { transform: translateX(40px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
@keyframes raFaqIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
@keyframes raLivePulse { from { transform: scale(0.7); opacity: 1; } to { transform: scale(1.8); opacity: 0; } }

/* Placeholder pre fotky v príprave (image-slot bez zdroja) */
.raPrep { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; color:#9A8F7E; font-size:12.5px; font-weight:600; background:repeating-linear-gradient(135deg,#F1EADF,#F1EADF 14px,#EDE5D6 14px,#EDE5D6 28px); }
.raPrep svg { opacity:.5; }

/* Interakcie (náhrada style-hover z prototypu) */
[data-hover-lift] { transition: transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s, border-color .3s, background .3s; }
[data-hover-lift]:hover { transform: translateY(-6px); box-shadow: 0 32px 60px -30px rgba(30,78,95,0.55); }
[data-hover-card]:hover { background:#fff !important; border-color:#C2683E !important; }
a[data-soc] { transition: border-color .2s, color .2s, transform .2s; }
a[data-soc]:hover { border-color:#C2683E !important; color:#C2683E !important; transform: translateY(-2px); }

/* Formulárové prvky (náhrada style-focus) */
.raInput, .raSelect, .raTextarea { transition: border-color .2s, box-shadow .2s; }
.raInput:focus, .raSelect:focus, .raTextarea:focus { border-color:#C2683E !important; box-shadow:0 0 0 4px rgba(194,104,62,0.12); outline:none; }
input::placeholder, textarea::placeholder { color:#B5AC9C; }
input[type="range"] { accent-color:#C2683E; }

/* FAQ accordion <details> (odpovede sú v DOM aj po zbalení — podmienka Google) */
details[data-faq] > summary { list-style:none; cursor:pointer; }
details[data-faq] > summary::-webkit-details-marker { display:none; }
details[data-faq] .raAccIcon { transition: transform .25s; }
details[data-faq][open] .raAccIcon { transform: rotate(45deg); }
details[data-faq] .raAccBody { animation: raFaqIn .35s ease both; }

/* Scroll carousel */
[data-track] { scrollbar-width:none; }
[data-track]::-webkit-scrollbar { display:none; }

/* Mobilné menu */
[data-mnav] { display:none; }
[data-mnav].open { display:flex; }

/* Skip-link — viditeľný pri fokuse (WCAG 2.4.1) */
.raSkip:focus { left:0 !important; }

/* ── Responzívne pravidlá (390px audit — HANDOFF §14) ─────────────────── */
@media (max-width: 1100px) {
  [data-desktop-nav], [data-desktop-cta] { display: none !important; }
  [data-burger] { display: flex !important; }
}
@media (max-width: 1024px) {
  [data-search-grid] { grid-template-columns: 1fr 1fr !important; }
  [data-search-grid] > button { grid-column: 1 / -1; }
  [data-editorial], [data-lead-grid], [data-calc-grid], [data-guide-grid], [data-faq-grid], [data-map-grid], [data-nl-grid] { grid-template-columns: 1fr !important; }
  [data-process-grid], [data-stats-grid], [data-footer-grid] { grid-template-columns: 1fr 1fr !important; }
  [data-cat-grid], [data-city-grid], [data-blog-grid], [data-testi-grid], [data-trust-grid], [data-soc-grid] { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 1000px) {
  [data-filters] { grid-template-columns: 1fr 1fr !important; }
  [data-detail-body] { grid-template-columns: 1fr !important; }
}
@media (max-width: 980px) {
  [data-2col], [data-founder], [data-cta-grid], [data-hero-grid] { grid-template-columns: 1fr !important; }
  [data-values], [data-partners], [data-reviews-grid], [data-exp], [data-trust] { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 960px) {
  [data-intro] { grid-template-columns: 1fr !important; }
  [data-loc-grid] { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 940px) {
  [data-contact-grid] { grid-template-columns: 1fr !important; }
  [data-form-row] { grid-template-columns: 1fr !important; }
}
@media (max-width: 900px) {
  [data-blog-grid] { grid-template-columns: 1fr 1fr !important; }
  [data-case] { grid-template-columns: 1fr !important; }
  [data-reviews-cols] { columns: 1 !important; }
  [data-stats] { grid-template-columns: 1fr 1fr !important; }
  [data-faq-layout] { grid-template-columns: 1fr !important; }
  [data-faq-aside] { position: static !important; }
  [data-legal-grid] { grid-template-columns: 1fr !important; }
  [data-legal-toc] { position: static !important; flex-direction: row !important; flex-wrap: wrap; }
  [data-calc] { grid-template-columns: 1fr !important; }
  [data-tables] { grid-template-columns: 1fr !important; }
  [data-annual] { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 860px) {
  [data-detail-gallery] { grid-template-columns: 1fr !important; }
  [data-detail-thumbs] { grid-template-columns: 1fr 1fr !important; }
  [data-detail-stats] { grid-template-columns: 1fr 1fr !important; }
  [data-features-grid], [data-cred-grid] { grid-template-columns: 1fr !important; }
}
@media (max-width: 820px) {
  [data-step] { grid-template-columns: 54px 1fr !important; }
  [data-step-meta] { grid-column: 2; margin-top: 14px; }
}
@media (max-width: 980px) {
  [data-article] { grid-template-columns: 1fr !important; }
  [data-toc] { display: none !important; }
  [data-assure] { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
  [data-search-grid] { grid-template-columns: 1fr !important; }
  [data-cat-grid], [data-city-grid], [data-blog-grid], [data-testi-grid], [data-trust-grid], [data-process-grid], [data-stats-grid], [data-footer-grid], [data-loc-grid], [data-filters] { grid-template-columns: 1fr !important; }
  [data-lang-switch] { display: none !important; }
}
@media (max-width: 600px) {
  [data-values], [data-reviews-grid], [data-exp], [data-trust], [data-annual], [data-stats], [data-soc-grid], [data-partners], [data-live-grid] { grid-template-columns: 1fr !important; }
  [data-hero-kpi] { gap: 22px !important; }
}
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  html { scroll-behavior: auto; }
}
