/*
Theme Name: Abhidatta Custom
Author: abhidatta nhawkar
Description: A clean, responsive, plugin-friendly WordPress theme with customizable header and footer, click-to-call support, custom CSS controls, and WooCommerce styling.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: abhidatta-custom
Tags: custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, wide-blocks, full-width-template, e-commerce, blog
*/

:root {
  --ac-primary: #2457d6;
  --ac-primary-dark: #173ea5;
  --ac-ink: #152238;
  --ac-text: #46546a;
  --ac-muted: #6c788c;
  --ac-surface: #f5f7fb;
  --ac-border: #e3e8f0;
  --ac-white: #ffffff;
  --ac-radius: 16px;
  --ac-shadow: 0 12px 35px rgba(21, 34, 56, .08);
  --ac-container: 1200px;
  --ac-narrow-container: 750px;
  --ac-content-width: 750px;
  --ac-wide-width: 1280px;
  --ac-cart-width: 1050px;
  --ac-checkout-width: 1100px;
  --ac-account-width: 1100px;
  --ac-scroll-top-bottom: 24px;
  --ac-scroll-top-side: 24px;
  --ac-wc-columns: 4;
  --ac-wc-related-columns: 4;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: auto; scroll-padding-top: 90px; }
html.ac-smooth-scroll { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ac-text);
  background: #fff;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
body, button, input, select, textarea { font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; }
img { max-width: 100%; height: auto; }
iframe { max-width: 100%; }
a { color: var(--ac-primary); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--ac-primary-dark); }
button, input[type="button"], input[type="submit"], input[type="reset"] { cursor: pointer; }
button, input, select, textarea { font: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(36, 87, 214, .35); outline-offset: 3px; }
.skip-link { position: absolute; z-index: 10000; top: -100px; left: 16px; padding: 10px 16px; color: #fff; background: var(--ac-ink); border-radius: 8px; }
.skip-link:focus { top: 10px; }
.ac-container { width: min(var(--ac-container), calc(100% - 40px)); margin-inline: auto; }
.site { min-height: 100vh; display: flex; flex-direction: column; }
.site-main { flex: 1; }

/* Header */
.site-header { position: relative; z-index: 50; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--ac-border); }
.header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.site-branding { min-width: 0; display: flex; align-items: center; gap: 12px; }
.custom-logo-link { display: inline-flex; flex-shrink: 0; }
.custom-logo { width: auto; max-height: 54px; object-fit: contain; }
.site-title { margin: 0; color: var(--ac-ink); font-size: 1.28rem; font-weight: 800; line-height: 1.2; letter-spacing: -.035em; }
.site-title a { color: inherit; text-decoration: none; }
.site-description { margin: 3px 0 0; color: var(--ac-muted); font-size: .78rem; line-height: 1.4; }
.header-actions { display: flex; align-items: center; gap: 18px; }
.primary-navigation ul, .footer-navigation ul { margin: 0; padding: 0; list-style: none; }
.primary-navigation > div > ul, .primary-navigation > ul { display: flex; align-items: center; gap: 22px; }
.primary-navigation li { position: relative; }
.primary-navigation a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ac-ink); font-size: .93rem; font-weight: 650; text-decoration: none; }
.primary-navigation a:hover, .primary-navigation .current-menu-item > a { color: var(--ac-primary); }
.primary-navigation .sub-menu { position: absolute; top: 100%; left: 0; z-index: 60; min-width: 210px; padding: 10px; background: #fff; border: 1px solid var(--ac-border); border-radius: 12px; box-shadow: var(--ac-shadow); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .18s ease; }
.primary-navigation li:hover > .sub-menu, .primary-navigation li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.primary-navigation .sub-menu a { display: flex; width: 100%; padding: 8px 12px; border-radius: 8px; }
.primary-navigation .sub-menu a:hover { background: var(--ac-surface); }
.ac-button, .wp-block-button__link, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, button.single_add_to_cart_button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 11px 19px; color: #fff; background: var(--ac-primary); border: 1px solid var(--ac-primary); border-radius: 11px; box-shadow: none; font-size: .92rem; font-weight: 750; line-height: 1.3; text-align: center; text-decoration: none; transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.ac-button:hover, .wp-block-button__link:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover, button.single_add_to_cart_button:hover { color: #fff; background: var(--ac-primary-dark); border-color: var(--ac-primary-dark); transform: translateY(-1px); }
.ac-button--outline { color: var(--ac-ink); background: #fff; border-color: var(--ac-border); }
.ac-button--outline:hover { color: var(--ac-primary); background: var(--ac-surface); border-color: var(--ac-primary); }
.ac-call-link { white-space: nowrap; }
.ac-call-link svg { width: 17px; height: 17px; }
.mobile-menu-toggle { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; color: var(--ac-ink); background: #fff; border: 1px solid var(--ac-border); border-radius: 10px; }
.mobile-menu-toggle svg { width: 22px; height: 22px; }

/* Homepage hero and sections */
.home-hero { position: relative; overflow: hidden; padding: clamp(64px, 9vw, 118px) 0; background: radial-gradient(circle at 85% 15%, rgba(36,87,214,.13), transparent 34%), linear-gradient(135deg, #f7f9ff 0%, #fff 60%, #f8fbff 100%); }
.home-hero::after { position: absolute; top: -120px; right: -110px; width: 380px; height: 380px; content: ""; border: 1px solid rgba(36,87,214,.14); border-radius: 50%; box-shadow: 0 0 0 45px rgba(36,87,214,.025), 0 0 0 90px rgba(36,87,214,.02); pointer-events: none; }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr); align-items: center; gap: clamp(40px, 7vw, 90px); }
.hero-copy { max-width: 680px; }
.hero-eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 20px; color: var(--ac-primary); font-size: .8rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.hero-eyebrow::before { width: 24px; height: 2px; background: var(--ac-primary); content: ""; }
.hero-title { max-width: 760px; margin: 0 0 22px; color: var(--ac-ink); font-size: clamp(2.6rem, 5.7vw, 4.65rem); font-weight: 850; letter-spacing: -.065em; line-height: 1.04; }
.hero-title span { color: var(--ac-primary); }
.hero-text { max-width: 620px; margin: 0 0 30px; color: var(--ac-muted); font-size: clamp(1.02rem, 1.5vw, 1.15rem); line-height: 1.8; }
.hero-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-visual { position: relative; min-height: 330px; display: grid; place-items: center; }
.hero-orbit { position: relative; width: min(100%, 390px); aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(36,87,214,.17); border-radius: 50%; background: radial-gradient(circle, #fff 0%, #f0f4ff 59%, rgba(255,255,255,0) 60%); }
.hero-orbit::before, .hero-orbit::after { position: absolute; inset: 12%; border: 1px solid rgba(36,87,214,.18); border-radius: 50%; content: ""; }
.hero-orbit::after { inset: 25%; border-style: dashed; }
.hero-core { position: relative; z-index: 1; width: 43%; aspect-ratio: 1; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, var(--ac-primary), #6f8ff0); border-radius: 27%; box-shadow: 0 25px 55px rgba(36,87,214,.28); transform: rotate(-7deg); }
.hero-core svg { width: 54%; height: 54%; transform: rotate(7deg); }
.hero-chip { position: absolute; z-index: 2; display: flex; align-items: center; gap: 9px; padding: 12px 15px; color: var(--ac-ink); background: #fff; border: 1px solid rgba(227,232,240,.9); border-radius: 12px; box-shadow: var(--ac-shadow); font-size: .82rem; font-weight: 750; }
.hero-chip svg { width: 19px; height: 19px; color: var(--ac-primary); }
.hero-chip--one { top: 12%; right: -2%; }
.hero-chip--two { bottom: 13%; left: -4%; }
.hero-chip--three { right: 0; bottom: 3%; }
.section { padding: clamp(58px, 7vw, 92px) 0; }
.section--soft { background: var(--ac-surface); }
.section-heading { max-width: 700px; margin: 0 auto 42px; text-align: center; }
.section-kicker { margin: 0 0 10px; color: var(--ac-primary); font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.section-title { margin: 0 0 14px; color: var(--ac-ink); font-size: clamp(1.9rem, 3.5vw, 2.75rem); font-weight: 820; letter-spacing: -.045em; line-height: 1.15; }
.section-description { margin: 0; color: var(--ac-muted); }
.feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.feature-card { padding: 28px; background: #fff; border: 1px solid var(--ac-border); border-radius: var(--ac-radius); box-shadow: 0 6px 20px rgba(21,34,56,.025); }
.feature-icon { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 22px; color: var(--ac-primary); background: #edf2ff; border-radius: 14px; }
.feature-icon svg { width: 25px; height: 25px; }
.feature-card h3 { margin: 0 0 9px; color: var(--ac-ink); font-size: 1.13rem; letter-spacing: -.02em; }
.feature-card p { margin: 0; color: var(--ac-muted); font-size: .95rem; }
.home-content { padding: 52px 0; }
.home-content > .ac-container > :first-child { margin-top: 0; }

/* Content, archives, and posts */
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 48px; padding: 58px 0 80px; }
.content-layout--single { grid-template-columns: minmax(0, var(--ac-narrow-container)); justify-content: center; }
.page-header { padding: 58px 0 24px; background: var(--ac-surface); }
.page-title { margin: 0; color: var(--ac-ink); font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 820; letter-spacing: -.05em; line-height: 1.15; overflow-wrap: anywhere; }
.archive-description { margin-top: 14px; color: var(--ac-muted); }
.post-card { margin-bottom: 28px; padding-bottom: 28px; border-bottom: 1px solid var(--ac-border); }
.post-card:last-child { border-bottom: 0; }
.post-thumbnail { display: block; overflow: hidden; margin-bottom: 20px; border-radius: var(--ac-radius); background: var(--ac-surface); }
.post-thumbnail img { display: block; width: 100%; max-height: 430px; object-fit: cover; transition: transform .35s ease; }
.post-thumbnail:hover img { transform: scale(1.025); }
.entry-title { margin: 0 0 10px; color: var(--ac-ink); font-size: clamp(1.45rem, 2.4vw, 2rem); font-weight: 800; letter-spacing: -.035em; line-height: 1.25; }
.entry-title a { color: inherit; text-decoration: none; }
.entry-title a:hover { color: var(--ac-primary); }
.entry-meta { display: flex; flex-wrap: wrap; gap: 9px 17px; margin-bottom: 15px; color: var(--ac-muted); font-size: .85rem; }
.entry-meta a { color: inherit; }
.entry-content, .entry-summary { color: var(--ac-text); }
.entry-content h2, .entry-content h3, .entry-content h4 { color: var(--ac-ink); line-height: 1.3; }
.entry-content img { border-radius: 10px; }
.entry-content blockquote { margin: 28px 0; padding: 8px 0 8px 22px; color: var(--ac-ink); border-left: 3px solid var(--ac-primary); font-size: 1.12rem; }
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content td, .entry-content th { padding: 10px; border: 1px solid var(--ac-border); }
.entry-footer { margin-top: 25px; }
.post-navigation, .posts-navigation, .pagination { margin-top: 30px; }
.nav-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }
.nav-links a, .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; padding: 8px 13px; color: var(--ac-ink); border: 1px solid var(--ac-border); border-radius: 10px; text-decoration: none; }
.page-numbers.current, .nav-links a:hover, .page-numbers:hover { color: #fff; background: var(--ac-primary); border-color: var(--ac-primary); }
.widget-area .widget { margin-bottom: 28px; padding: 22px; border: 1px solid var(--ac-border); border-radius: 14px; }
.widget-title { margin: 0 0 14px; color: var(--ac-ink); font-size: 1.06rem; font-weight: 800; }
.widget-area ul { margin: 0; padding-left: 19px; }
.widget-area li { margin: 7px 0; }

/* Forms and search */
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="tel"], input[type="number"], input[type="date"], select, textarea {
  width: 100%; max-width: 100%; min-height: 46px; padding: 10px 13px; color: var(--ac-ink); background: #fff; border: 1px solid #d8dfeb; border-radius: 10px; box-shadow: none;
}
textarea { min-height: 135px; resize: vertical; }
.search-form { display: flex; gap: 8px; }
.search-form label { flex: 1; min-width: 0; }
.search-form .search-submit { flex-shrink: 0; padding: 8px 14px; color: #fff; background: var(--ac-primary); border: 0; border-radius: 10px; }
.comment-respond { margin-top: 38px; padding-top: 26px; border-top: 1px solid var(--ac-border); }
.comment-reply-title { color: var(--ac-ink); }
.comment-form p { margin-bottom: 16px; }
.comment-form label { display: block; margin-bottom: 6px; font-size: .9rem; font-weight: 700; }
.comment-form .submit { padding: 12px 18px; color: #fff; background: var(--ac-primary); border: 0; border-radius: 10px; font-weight: 750; }

/* Footer */
.site-footer { margin-top: auto; color: #c6cfdd; background: #101b2e; }
.footer-main { display: grid; grid-template-columns: 1.25fr .8fr .8fr 1fr; gap: 34px; padding: 58px 0 42px; }
.footer-brand .site-title { color: #fff; }
.footer-brand .site-description { color: #a4b0c4; }
.footer-about { max-width: 320px; margin: 16px 0 0; color: #a4b0c4; font-size: .93rem; }
.footer-widget .widget-title, .footer-heading { margin: 0 0 16px; color: #fff; font-size: .95rem; font-weight: 800; }
.footer-widget ul { margin: 0; padding: 0; list-style: none; }
.footer-widget li { margin: 8px 0; }
.footer-widget a, .footer-navigation a { color: #bac5d6; text-decoration: none; }
.footer-widget a:hover, .footer-navigation a:hover { color: #fff; }
.footer-contact-line { display: flex; align-items: flex-start; gap: 10px; margin: 9px 0; overflow-wrap: anywhere; }
.footer-contact-line svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 4px; color: #8daaff; }
.footer-bottom { padding: 18px 0; border-top: 1px solid rgba(255,255,255,.12); }
.footer-bottom-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; font-size: .83rem; }
.footer-bottom p { margin: 0; }
.footer-navigation ul { display: flex; flex-wrap: wrap; gap: 14px; }
.footer-navigation a { font-size: .83rem; }

/* WooCommerce */
.woocommerce-page #primary.content-area, .woocommerce #primary.content-area { width: min(var(--ac-container), calc(100% - 40px)); margin: 0 auto; }
.woocommerce .site-main { min-width: 0; }
.woocommerce .woocommerce-breadcrumb { margin: 24px 0; color: var(--ac-muted); font-size: .88rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--ac-primary); }
.woocommerce .woocommerce-products-header { margin: 36px auto 25px; }
.woocommerce .woocommerce-products-header__title, .woocommerce div.product .product_title { color: var(--ac-ink); font-weight: 820; letter-spacing: -.04em; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(var(--ac-wc-columns, 4), minmax(0,1fr)); gap: 26px 20px; margin: 30px 0; }
.woocommerce .related.products ul.products { grid-template-columns: repeat(var(--ac-wc-related-columns, 4), minmax(0,1fr)); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; padding: 14px; overflow: hidden; background: #fff; border: 1px solid var(--ac-border); border-radius: 15px; transition: box-shadow .2s ease, transform .2s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-3px); box-shadow: var(--ac-shadow); }
.woocommerce ul.products li.product a img { margin: 0 0 15px; border-radius: 9px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; color: var(--ac-ink); font-size: 1rem; font-weight: 750; line-height: 1.4; }
.woocommerce ul.products li.product .price { margin: 8px 0 14px; color: var(--ac-primary); font-weight: 800; }
.woocommerce span.onsale { min-width: auto; min-height: auto; padding: 7px 10px; color: #fff; background: var(--ac-primary); border-radius: 7px; line-height: 1.2; }
.woocommerce .star-rating { color: #f5a623; }
.woocommerce div.product { margin: 36px 0 70px; }
.woocommerce div.product div.images img { border-radius: 14px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ac-primary); font-size: 1.4rem; font-weight: 800; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-color: var(--ac-border); background: var(--ac-surface); border-radius: 9px 9px 0 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: #fff; border-bottom-color: #fff; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--ac-border); }
.woocommerce table.shop_table { border-color: var(--ac-border); border-radius: 12px; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 13px; }
.woocommerce-cart table.cart img { width: 68px; border-radius: 8px; }
.woocommerce .quantity .qty { width: 76px; min-height: 44px; }
.woocommerce .input-text { border-color: #d8dfeb; border-radius: 9px; }
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register { border-color: var(--ac-border); border-radius: 12px; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--ac-primary); background: #f3f6ff; border-radius: 8px; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--ac-primary); }
.woocommerce-error { border-radius: 8px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { margin: 0 4px; border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 40px; min-height: 40px; padding: 10px; border: 1px solid var(--ac-border); border-radius: 9px; }
.woocommerce nav.woocommerce-pagination ul li span.current { color: #fff; background: var(--ac-primary); border-color: var(--ac-primary); }
.woocommerce .related.products { clear: both; }
.woocommerce #reviews #comments ol.commentlist li img.avatar { border: 0; border-radius: 50%; }
.woocommerce .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce .woocommerce-MyAccount-navigation li { margin-bottom: 7px; }
.woocommerce .woocommerce-MyAccount-navigation a { display: block; padding: 10px 12px; background: var(--ac-surface); border-radius: 8px; text-decoration: none; }
.woocommerce .woocommerce-MyAccount-navigation .is-active a { color: #fff; background: var(--ac-primary); }

/* Blocks and utilities */
.wp-block-image img, .wp-block-cover, .wp-block-gallery img { border-radius: 12px; }
.wp-block-separator { border-color: var(--ac-border); }
.wp-block-pullquote { border-color: var(--ac-primary); }
.alignwide { max-width: 1280px; margin-inline: auto; }
.alignfull { width: 100%; max-width: none; }
.error-404 { padding: 85px 0; text-align: center; }
.error-404 .page-title { margin-bottom: 15px; }
.error-404 .search-form { max-width: 480px; margin: 28px auto 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 100000; top: 8px; left: 8px; width: auto; height: auto; padding: 12px 16px; margin: 0; clip: auto !important; color: #fff; background: var(--ac-ink); border-radius: 8px; }

@media (max-width: 1020px) {
  .header-inner { gap: 16px; }
  .header-actions { gap: 12px; }
  .primary-navigation > div > ul, .primary-navigation > ul { gap: 14px; }
  .primary-navigation a { font-size: .88rem; }
  .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 780px) {
  .ac-container { width: min(var(--ac-container), calc(100% - 32px)); }
  .header-inner { min-height: 72px; }
  .mobile-menu-toggle { display: inline-flex; }
  .header-actions { gap: 9px; }
  .header-actions > .ac-button { min-height: 42px; padding: 9px 12px; font-size: .82rem; }
  .primary-navigation { position: absolute; top: 100%; left: 0; right: 0; display: none; padding: 8px 16px 18px; background: #fff; border-bottom: 1px solid var(--ac-border); box-shadow: 0 15px 25px rgba(21,34,56,.08); }
  .primary-navigation.is-open { display: block; }
  .primary-navigation > div > ul, .primary-navigation > ul { display: block; }
  .primary-navigation li { border-bottom: 1px solid #f0f2f7; }
  .primary-navigation li:last-child { border-bottom: 0; }
  .primary-navigation a { display: flex; width: 100%; min-height: 44px; padding: 8px; }
  .primary-navigation .sub-menu { position: static; display: none; min-width: 0; padding: 0 0 8px 15px; border: 0; border-radius: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .primary-navigation li:focus-within > .sub-menu { display: block; }
  .hero-grid { grid-template-columns: 1fr; gap: 36px; }
  .hero-copy { max-width: 100%; }
  .hero-visual { min-height: 310px; }
  .hero-orbit { width: min(78vw, 340px); }
  .hero-chip--one { right: 3%; }
  .hero-chip--two { left: 1%; }
  .feature-grid { grid-template-columns: 1fr; }
  .content-layout { grid-template-columns: 1fr; gap: 30px; padding-top: 36px; }
  .content-layout--single { grid-template-columns: 1fr; }
  .widget-area { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
  .widget-area .widget { margin: 0; }
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
  .woocommerce ul.products li.product { padding: 10px; }
  .woocommerce div.product { margin-top: 24px; }
}
@media (max-width: 520px) {
  .site-description { display: none; }
  .site-title { font-size: 1.08rem; }
  .custom-logo { max-height: 43px; }
  .header-actions .ac-call-link { display: none; }
  .hero-title { font-size: clamp(2.35rem, 12vw, 3.35rem); }
  .hero-buttons .ac-button { width: 100%; }
  .hero-visual { min-height: 280px; }
  .hero-chip { padding: 9px 10px; font-size: .72rem; }
  .hero-chip--three { bottom: 0; right: -1%; }
  .footer-main { grid-template-columns: 1fr; gap: 28px; padding-top: 42px; }
  .footer-bottom-inner { align-items: flex-start; flex-direction: column; }
  .widget-area { grid-template-columns: 1fr; }
  .woocommerce ul.products { gap: 12px; }
  .woocommerce ul.products li.product .button { width: 100%; padding: 9px 7px; font-size: .8rem; }
  .woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 8px 6px; font-size: .86rem; }
}
@media (prefers-reduced-motion: reduce) {
  html.ac-smooth-scroll { scroll-behavior: auto !important; }
  .ac-respect-reduced-motion *, .ac-respect-reduced-motion *::before, .ac-respect-reduced-motion *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}


/* Advanced Customizer: containers, archives, accessibility, and utility controls */
.ac-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 16px; color: var(--ac-muted); font-size: .86rem; line-height: 1.5; }
.ac-breadcrumbs a { color: var(--ac-muted); text-decoration: none; }
.ac-breadcrumbs a:hover { color: var(--ac-primary); text-decoration: underline; }
.ac-breadcrumbs [aria-current="page"] { color: var(--ac-ink); }
.ac-breadcrumb-separator { color: #9aa5b6; }
.ac-container-layout-full-width .ac-container { width: calc(100% - 40px); max-width: none; }
.ac-container-layout-boxed #page { width: min(calc(100% - 30px), calc(var(--ac-container, 1200px) + 80px)); margin-inline: auto; background: #fff; box-shadow: 0 10px 45px rgba(21,34,56,.08); }
.ac-container-layout-boxed .site-header, .ac-container-layout-boxed .site-footer { width: 100%; }
.ac-container-style-boxed .content-primary > article, .ac-container-style-boxed .content-primary > .post-card, .ac-container-style-boxed .widget-area .widget { padding: 24px; background: #fff; border: 1px solid var(--ac-border); border-radius: var(--ac-radius); }
.ac-container-style-boxed .content-primary > .post-card { margin-bottom: 22px; }
.ac-container-style-boxed .content-primary > .page-entry { box-shadow: 0 4px 20px rgba(21,34,56,.025); }
.ac-layout-sidebar-none .content-layout { grid-template-columns: minmax(0, 1fr); }
.ac-layout-sidebar-none .content-layout > .content-primary { max-width: var(--ac-narrow-container, 750px); margin-inline: auto; }
.ac-woocommerce-page.ac-layout-sidebar-none .content-layout > .content-primary { max-width: none; }
.ac-layout-sidebar-left .content-layout { grid-template-columns: 290px minmax(0, 1fr); }
.ac-layout-sidebar-left .content-layout > .content-primary { grid-column: 2; grid-row: 1; }
.ac-layout-sidebar-left .content-layout > .widget-area { grid-column: 1; grid-row: 1; }
.ac-layout-sidebar-left .content-layout > .woocommerce { grid-column: 2; grid-row: 1; min-width: 0; }
.content-layout--single > .content-primary { width: 100%; max-width: var(--ac-narrow-container); margin-inline: auto; }
.ac-archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 22px; }
.ac-archive-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ac-archive-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ac-archive-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ac-archive-grid .post-card { display: flex; min-width: 0; flex-direction: column; height: 100%; margin: 0; padding: 18px; background: #fff; border: 1px solid var(--ac-border); border-radius: var(--ac-radius); box-shadow: 0 5px 20px rgba(21,34,56,.025); }
.ac-archive-grid .post-thumbnail { width: 100%; }
.ac-archive-grid .post-thumbnail img { aspect-ratio: 4 / 3; max-height: none; object-fit: cover; }
.ac-archive-grid .entry-title { font-size: 1.25rem; }
.ac-archive-grid .entry-content { display: flex; flex: 1; flex-direction: column; }
.ac-archive-grid .entry-content > p:last-child { margin-top: auto; padding-top: 12px; }
.ac-archive-grid .navigation.pagination, .ac-archive-grid .posts-navigation, .ac-archive-grid > .pagination { grid-column: 1 / -1; }
.ac-archive-list .post-card { display: block; }
.post-thumbnail--single { margin: 0 0 28px; }
.post-thumbnail--single img { width: 100%; max-height: 620px; object-fit: cover; }
.ac-links-underlined a { text-decoration: underline !important; text-underline-offset: .15em; }
.ac-no-focus-outline :focus-visible { outline: none !important; box-shadow: none !important; }
.ac-hide-site-tagline .site-branding .site-description { display: none !important; }
.ac-hide-scroll-top-mobile .ac-scroll-to-top { display: none; }
.ac-scroll-to-top { position: fixed; z-index: 9990; bottom: var(--ac-scroll-top-bottom, 24px); display: inline-grid; place-items: center; width: 48px; height: 48px; padding: 0; color: #fff; background: var(--ac-primary); border: 0; border-radius: 13px; box-shadow: 0 9px 28px rgba(21,34,56,.22); font-size: 1.65rem; font-weight: 800; line-height: 1; cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; }
.ac-scroll-to-top--right { right: var(--ac-scroll-top-side, 24px); }
.ac-scroll-to-top--left { left: var(--ac-scroll-top-side, 24px); }
.ac-scroll-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.ac-scroll-to-top:hover { background: var(--ac-primary-dark); }
.ac-no-wide-blocks .alignwide, .ac-no-wide-blocks .alignfull { width: auto; max-width: 100%; margin-inline: auto; }
.ac-square-block-media .wp-block-image img, .ac-square-block-media .wp-block-cover, .ac-square-block-media .wp-block-gallery img, .ac-square-block-media .entry-content img { border-radius: 0; }
.ac-no-block-spacing .entry-content > * { margin-block: 0; }
.alignwide { max-width: var(--ac-wide-width, 1280px); }
.entry-content > *:not(.alignwide):not(.alignfull) { max-width: var(--ac-content-width, 750px); }
.entry-content > .alignwide { max-width: var(--ac-wide-width, 1280px); }
.entry-content > .alignfull { width: 100%; max-width: none; }
.ac-cart-page .content-layout > .content-primary { max-width: var(--ac-cart-width, 1050px); margin-inline: auto; }
.ac-checkout-page .content-layout > .content-primary { max-width: var(--ac-checkout-width, 1100px); margin-inline: auto; }
.ac-account-page .content-layout > .content-primary { max-width: var(--ac-account-width, 1100px); margin-inline: auto; }
.ac-cart-page .entry-content, .ac-checkout-page .entry-content, .ac-account-page .entry-content { width: 100%; }
.ac-woocommerce-main { min-width: 0; }
.ac-woocommerce-main .content-layout { align-items: start; }
.ac-woocommerce-main .content-primary { min-width: 0; }
.woocommerce .related.products ul.products { grid-template-columns: repeat(var(--ac-wc-related-columns, 4), minmax(0,1fr)); }
.woocommerce .woocommerce-notices-wrapper { margin-top: 18px; }

@media (max-width: 1020px) {
  .ac-archive-grid, .ac-archive-grid--4, .ac-archive-grid--3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ac-archive-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 780px) {
  .ac-layout-sidebar-left .content-layout { grid-template-columns: 1fr; }
  .ac-layout-sidebar-left .content-layout > .content-primary, .ac-layout-sidebar-left .content-layout > .widget-area, .ac-layout-sidebar-left .content-layout > .woocommerce { grid-column: auto; grid-row: auto; }
  .ac-archive-grid, .ac-archive-grid--2, .ac-archive-grid--3, .ac-archive-grid--4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ac-archive-grid .post-card { padding: 13px; }
  .ac-container-layout-full-width .ac-container { width: calc(100% - 32px); }
  .ac-container-layout-boxed #page { width: 100%; }
}
@media (max-width: 520px) {
  .ac-archive-grid, .ac-archive-grid--2, .ac-archive-grid--3, .ac-archive-grid--4 { grid-template-columns: 1fr; }
  .ac-scroll-to-top { width: 44px; height: 44px; }
  .ac-container-style-boxed .content-primary > article, .ac-container-style-boxed .content-primary > .post-card { padding: 16px; }
}

.ac-wc-layout-list .woocommerce ul.products { display: flex; flex-direction: column; gap: 14px; }
.ac-wc-layout-list .woocommerce ul.products li.product { display: grid; grid-template-columns: minmax(130px, 220px) minmax(0, 1fr); align-items: center; gap: 8px 22px; padding: 16px; }
.ac-wc-layout-list .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link { display: contents; }
.ac-wc-layout-list .woocommerce ul.products li.product a img { grid-column: 1; grid-row: 1 / span 5; width: 100%; margin: 0; }
.ac-wc-layout-list .woocommerce ul.products li.product .woocommerce-loop-product__title,
.ac-wc-layout-list .woocommerce ul.products li.product .star-rating,
.ac-wc-layout-list .woocommerce ul.products li.product .price,
.ac-wc-layout-list .woocommerce ul.products li.product .button { grid-column: 2; justify-self: start; }
.ac-wc-layout-list .woocommerce ul.products li.product .button { margin-top: 5px; }
.woocommerce div.product div.images { width: var(--ac-wc-image-width, 48%); }
.woocommerce div.product div.summary { width: calc(100% - var(--ac-wc-image-width, 48%) - 3%); }
.ac-wc-checkout-one-column .woocommerce-checkout #customer_details,
.ac-wc-checkout-one-column .woocommerce-checkout #order_review_heading,
.ac-wc-checkout-one-column .woocommerce-checkout #order_review { float: none !important; width: 100% !important; }
@media (max-width: 780px) {
  .woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: 100%; }
  .ac-wc-layout-list .woocommerce ul.products li.product { grid-template-columns: minmax(100px, 35%) minmax(0,1fr); gap: 8px 13px; }
}

.ac-cart-page .entry-content > *, .ac-checkout-page .entry-content > *, .ac-account-page .entry-content > * { max-width: none; }
.ac-cart-page .entry-content .woocommerce, .ac-checkout-page .entry-content .woocommerce, .ac-account-page .entry-content .woocommerce { width: 100%; }
