/* Shared styles for every page. Tailwind CSS (loaded from its CDN in header.php) handles the rest. */

html { scroll-behavior: smooth; }
body { color: #1B1730; }
section[id] { scroll-margin-top: 90px; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #5B2BD9; outline-offset: 2px; }
.on-dark a:focus-visible, .on-dark button:focus-visible { outline-color: #C8F03C; }

/* Dotted texture behind the dark hero */
.hero-dots { background-image: radial-gradient(rgb(255 255 255 / .13) 1.5px, transparent 1.5px); background-size: 26px 26px; }
.hero-glow { background: radial-gradient(60% 80% at 85% 0%, rgb(91 43 217 / .55), transparent 70%); }

/* Giant wordmark cropped at the bottom of the footer */
.wordmark { font-family: Fraunces, serif; font-style: italic; font-weight: 700; white-space: nowrap; text-align: center;
  font-size: clamp(3.5rem, 15vw, 13rem); line-height: .8; color: rgb(255 255 255 / .08); margin-top: 1rem; transform: translateY(18%); }

/* Appliance icons (inline SVG sprite) */
.icon { width: 1.75rem; height: 1.75rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* Form fields: cream, thick ink outline */
.field { width: 100%; border-radius: 1rem; border: 2px solid #1B1730; background: #F7F3EC; padding: .7rem .9rem; font-size: 1rem; }
.field:focus { outline: 3px solid #C8F03C; outline-offset: 0; box-shadow: 0 0 0 2px #1B1730; }
.field[aria-invalid="true"] { border-color: #C62828; }
.err { margin-top: .25rem; font-size: .875rem; font-weight: 600; color: #C62828; }
.err:empty { display: none; }

/* Service rows: this illustrated panel shows behind each photo, and stays visible if a photo is missing */
.svc-fallback { background: linear-gradient(135deg, #5B2BD9, #1B1730); }

/* FAQ */
.faq-panel { display: none; }

/* Owl Carousel tweaks */
.owl-theme .owl-dots .owl-dot span { width: 12px; height: 12px; background: #CFC6E8; }
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span { background: #5B2BD9; }
.review-carousel .owl-stage { display: flex; }
.review-carousel .owl-item { display: flex; }
.review-carousel .owl-item > .item { width: 100%; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}

/* Long-form text */
.legal { max-width: 42rem; }
.legal h2 { font-family: Fraunces, "Noto Sans Bengali", serif; font-size: 1.7rem; font-weight: 700; font-style: italic; line-height: 1.2; margin: 2.75rem 0 .75rem; scroll-margin-top: 100px; }
.legal h2:first-child { margin-top: 0; }
.legal h3 { font-weight: 700; margin: 1.5rem 0 .25rem; }
.legal p { margin: .75rem 0; }
.legal ul { list-style: disc; padding-left: 1.4rem; margin: .75rem 0; }
.legal li { margin: .4rem 0; padding-left: .2rem; }
.legal a { color: #5B2BD9; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.legal a:hover { color: #1B1730; }
#toc summary { list-style: none; }
#toc summary::-webkit-details-marker { display: none; }

@media print { header, footer, #toc, .no-print { display: none !important; } }
