/*
Theme Name: Vivaan Karulkar
Theme URI: https://vivaankarulkar.com
Author: Vivaan Karulkar
Description: Hand-built theme for vivaankarulkar.com. Carries the header, footer, fonts and the full design system; page content is built in Elementor (Free). Requires the Elementor and Contact Form 7 plugins for the page content and the contact form.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
License: Proprietary
Text Domain: vivaan
*/

/* The design system lives in assets/css/style.css (enqueued by functions.php).
   Below: only the glue between WordPress / Elementor / Contact Form 7 and that stylesheet. */

/* Logged-in admin bar sits above the sticky header */
.admin-bar { --admin-bar-h: 32px; }
.admin-bar .site-header { top: var(--admin-bar-h); }
@media (max-width: 782px) { .admin-bar { --admin-bar-h: 46px; } }

/* Elementor wrappers must be invisible: our sections carry their own padding and width */
.elementor-widget-html, .elementor-widget-html .elementor-widget-container { margin: 0; padding: 0; }
.e-con.vk-section, .elementor .e-con { --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0; --margin-top: 0; --margin-bottom: 0; --gap: 0; --row-gap: 0; --column-gap: 0; }
.elementor-widget:not(:last-child) { margin-bottom: 0; }
.elementor-section-wrap, .elementor { width: 100%; }

/* Elementor resets img radius/shadow; restore the design system's image treatment */
.elementor .hero-media img, .elementor .feature-media img, .elementor .photo-img img,
.elementor .tl-media img, .elementor .award-media img, .elementor .gallery-item img,
.elementor .video-thumb img, .elementor .book-slide-cover img, .elementor .book-cover img,
.elementor .card-media img { border-radius: inherit; }
.elementor .hero-media img, .elementor .feature-media img, .elementor .tl-media img { border-radius: var(--radius); }
.elementor .feature-media img { box-shadow: var(--shadow); }
.elementor .tl-media img { box-shadow: var(--shadow-sm); }

/* Contact Form 7 inside the .form-panel: same look as the static mock-up */
.wpcf7-form.form { display: flex; flex-direction: column; gap: 18px; }
.wpcf7-form .wpcf7-form-control-wrap { display: block; }
.wpcf7-form .wpcf7-not-valid-tip { font-size: .82rem; color: #B42318; margin-top: 4px; display: block; }
.wpcf7-form .wpcf7-response-output { margin: 0; padding: 12px 16px; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); font-size: .92rem; }
.wpcf7-form.sent .wpcf7-response-output { border-color: var(--accent); background: var(--accent-soft); color: var(--accent-dark); }
.wpcf7-form.invalid .wpcf7-response-output, .wpcf7-form.failed .wpcf7-response-output { border-color: #B42318; color: #B42318; }
.wpcf7-form .wpcf7-spinner { margin: 0 0 0 12px; }
.wpcf7-form .btn-group { align-items: center; }
