/**
 * ============================================================================
 * iBOX / OPTiCLEAN -- Premium Light-Blue Claymorphism Skin
 * ============================================================================
 * This file is a pure VISUAL overlay. It changes colour, gradient, shadow,
 * border-radius and surface treatment only.
 *
 * It intentionally does NOT touch: layout (position/display/grid/flex/width/
 * height/margin/padding of structural elements), markup, content, images,
 * or animation timing/behaviour. Every existing selector, breakpoint and
 * component keeps working exactly as before -- it just now renders as a
 * soft, rounded, light-blue "clay" surface instead of the old flat design.
 *
 * Loaded last (see functions.php, priority 20) so it always wins the
 * cascade without needing heavy use of !important. !important is used only
 * where the original rule hardcodes a colour with equal/higher specificity
 * that would otherwise not be reachable (documented inline).
 * ============================================================================
 */

/* -------------------------------------------------------------------------
 * 1. DESIGN TOKENS
 * ---------------------------------------------------------------------- */
:root {
  /* Re-themed site tokens (already used ~90x across the theme's own CSS,
     so redefining these alone re-colours buttons, links, the footer,
     pill navigation and form buttons site-wide). */
  --primary: #1B4C82;   /* was #183358 navy -> deep premium blue */
  --secondary: #FF981A; /* iBOX brand orange -- the sitewide small-accent
                            token (eyebrow labels, decorative divider
                            lines, link hovers, CTA buttons). Was blue
                            (#4F9DFF) under the claymorphism skin; the one
                            place that must stay blue (header nav-link
                            hover) is re-pinned explicitly further down
                            with --nav-hover-accent so it's unaffected by
                            this change. */
  --dark: #0F2A4A;
  --text: #212121;
  /* --white: #F7F7F3 (was #ffffff) -- per follow-up feedback ("change
     white backgrounds to the same off-white used in the Why iBOX hero,
     #F7F7F3"). This token already powers ~15 `background`/
     `background-color: var(--white)` rules site-wide (cards, popups,
     footer-adjacent panels, etc.) plus a similar number of
     `color: var(--white)` rules (white text set on dark/blue button and
     section backgrounds) -- redefining it here, in the same skin-layer
     :root block that already re-themes --primary/--secondary/--dark/
     --text, re-colours every one of those background usages to the
     approved off-white in one consistent, sitewide change, exactly the
     same pattern already used for the other tokens above. The knock-on
     effect on the `color: var(--white)` (text) usages is negligible --
     #F7F7F3 is visually indistinguishable from #ffffff as text colour
     against the dark/blue surfaces it's used on, so button/label
     legibility is unaffected. Hardcoded #fff/#ffffff declarations that
     don't go through this token (form fields, a few standalone
     component backgrounds) are handled individually elsewhere in this
     file and in style.css/contact-form.css/catalog-popup.css -- see
     those rules' own comments. */
  --white: #F7F7F3;

  /* Fixed blue used ONLY for header/nav hover states, so the navigation
     stays exactly as it was even though --secondary above is now orange. */
  --nav-hover-accent: #4F9DFF;

  /* Brand orange, dedicated to buttons/CTAs. Kept separate from
     --clay-accent* below, which still powers the footer and catalogue
     section background surfaces and must stay blue/untouched. */
  --brand-orange-light: #FFB157;
  --brand-orange: #FF981A;
  --brand-orange-deep: #D97D00; /* hover state -- slightly darker */
  --clay-cta-shadow: rgba(20, 20, 20, 0.16); /* neutral, no colour tint --
                                                 soft premium elevation
                                                 instead of a glow */

  /* New Claymorphism tokens */
  --clay-bg-1: #EAF6FF;
  --clay-bg-2: #DDF2FF;
  --clay-bg-3: #CFEAFF;
  --clay-surface: #F5FAFF;
  --clay-accent: #4F9DFF;
  --clay-accent-mid: #5DAEFF;
  --clay-accent-light: #7ABEFF;
  --clay-accent-deep: #1B4C82;
  --clay-shadow-dark: rgba(112, 161, 214, 0.38);
  --clay-shadow-soft: rgba(140, 180, 224, 0.28);
  --clay-shadow-light: rgba(255, 255, 255, 0.85);

  /* Dedicated palette for the "Latest iBOX Catalog" band and the footer,
     matched to reference image. Kept separate from --clay-accent-light/
     --clay-accent-deep above (those still power the carousel/slider
     hover + dot states elsewhere and must stay unaffected). Flat,
     desaturated, premium blues -- not the brighter --clay-accent family. */
  --clay-catalog-flat: #6881A1;
  --clay-footer-flat: #182D4E;
  --clay-radius-lg: 32px;
  --clay-radius-md: 24px;
  --clay-radius-sm: 14px;
  --clay-radius-pill: 999px;
}

/* -------------------------------------------------------------------------
 * 2. GLOBAL BASE
 * ---------------------------------------------------------------------- */
/* The sitewide powder-blue backdrop (#DAE6F6, background-attachment:
   fixed) that used to live here has been removed. It was only ever
   meant to show behind the homepage's floating claymorphism cards
   (the "Discover iBOX" and OPTiCLEAN panels) -- both were removed from
   the homepage well before this fix, so every section on the site now
   paints its own full-bleed background (see e.g. .ibox-story,
   .materials-section, footer) with nothing left
   for that body-level tint to ever be seen behind. Left in place, it
   was the only non-white, non-section-scoped background anywhere in
   the theme -- a global colour that could still surface as a stray
   tint at the very edges of the page (first paint, sub-pixel rounding
   on very wide/ultrawide viewports, printing, etc.). html body now
   falls back to css/style.css's own plain `background: #fff;` again,
   with nothing here overriding it. */

/* Explicit full-width safeguard, loaded last (this file has the
   highest CSS priority in the theme) so nothing can override it.
   html/body are forced to the true viewport width with zero margin/
   padding, and every top-level section wrapper on the site (the
   homepage's hero, "Who We Are", "Our Product Categories",
   "Materials", "Download Catalogue" -- plus
   <header> and <footer>, which sit outside the homepage's own
   wrapping <section>) is explicitly pinned to 100% width with no
   horizontal margin, so none of them can ever be inset from the
   browser's true left/right edges. This does NOT affect
   .container (still 1430px, centred, for inner content/text -- e.g.
   the nav row inside <header>, the copy column inside each section)
   -- only the full-bleed background-carrying wrappers themselves. */
html,
body {
  width: 100%;
  max-width: 100%;
  margin: 0;
}

body > section,
body > header,
body > footer,
.main-banner-section,
.ibox-story,
.ibox-categories,
.materials-section,
.catalogue-section {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

::-webkit-scrollbar-track {
  background: var(--clay-bg-1);
}

::-webkit-scrollbar-thumb {
  background-color: var(--clay-accent-mid);
  border-radius: var(--clay-radius-pill);
}

::-webkit-scrollbar-thumb:hover {
  background-color: var(--clay-accent-deep);
}

* {
  scrollbar-color: var(--clay-accent-mid) var(--clay-bg-1);
}

*::-webkit-scrollbar-thumb {
  background-color: var(--clay-accent-mid);
}

*::-moz-selection {
  color: #fff;
  background: var(--clay-accent);
}

::selection {
  color: #fff;
  background: var(--clay-accent);
}

/* Generic soft outer shadow utility already used for the sticky header
   state elsewhere in the theme -- re-tinted from black to blue. */
.fixed {
  box-shadow: 0 4px 20px var(--clay-shadow-soft);
  -webkit-box-shadow: 0 4px 20px var(--clay-shadow-soft);
  -moz-box-shadow: 0 4px 20px var(--clay-shadow-soft);
}

/* -------------------------------------------------------------------------
 * 3. HEADER & NAVIGATION
 * ---------------------------------------------------------------------- */
#header {
  background: linear-gradient(180deg, rgba(234, 246, 255, 0.88) 0%, rgba(221, 242, 255, 0.8) 100%);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 30px var(--clay-shadow-soft);
}

#header.fixed::before {
  background: rgba(234, 246, 255, 0.94);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

/* Desktop nav links: were white-on-transparent (designed to sit over a
   dark hero); the header is now a light clay bar on every page, so the
   links need to be dark for contrast in every state. */
#header .wrapper .menu ul#menu-header-menu li a,
#header ul.social-link-list li a {
  color: var(--primary) !important;
}

#header .wrapper .menu ul#menu-header-menu li a:hover,
#header .wrapper .menu ul#menu-header-menu li.menu-has-children:hover > a,
#header .wrapper .menu ul#menu-header-menu li.current-menu-item a,
#header ul.social-link-list li a:hover {
  color: var(--nav-hover-accent) !important;
}

#header .wrapper .menu ul#menu-header-menu span.submenu-click-arrow {
  /* was hard-coded to filter the SVG arrow to near-black; re-tint to the
     deep blue token instead. */
  filter: brightness(0) saturate(100%) invert(20%) sepia(54%) saturate(1000%) hue-rotate(178deg) brightness(90%) contrast(92%);
}

/* Submenu dropdown: soft clay card instead of a flat white box with a
   heavy black drop shadow. */
#header .wrapper .menu ul#menu-header-menu li ul.sub-menu {
  background-color: var(--clay-surface);
  box-shadow: 0 16px 40px var(--clay-shadow-dark);
  border-radius: var(--clay-radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.7);
}

#header .wrapper .menu ul#menu-header-menu li ul.sub-menu li {
  border-bottom: 1px solid rgba(79, 157, 255, 0.12);
}

#header .wrapper .menu ul#menu-header-menu li ul.sub-menu li a {
  color: var(--primary) !important;
}

#header .wrapper .menu ul#menu-header-menu li ul.sub-menu li:hover,
#header .wrapper .menu ul#menu-header-menu li ul.sub-menu li.current-menu-item {
  background: linear-gradient(145deg, var(--clay-bg-2), var(--clay-bg-3));
}

/* Logo lockup: the theme already ships a light ("white-logo") and a navy
   ("blue-logo") version of every mark and swaps them per page background
   (see inc/header-branding.php). Since the header is uniformly light now,
   always show the navy lockup -- no image files are replaced, this only
   toggles which existing image is visible. */
.white-logo {
  display: none !important;
}

.blue-logo {
  display: block !important;
}

html.menu-open .blue-logo {
  filter: none !important;
}

/* Full-screen mobile menu overlay: soften from solid black to a soft
   translucent light-blue clay panel, with dark (readable) link text. */
html body::before {
  background: rgba(223, 240, 255, 0.97);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

#header ul#menu-main-menu li a {
  color: var(--primary) !important;
}

#header ul#menu-main-menu li a:after {
  background: rgba(27, 76, 130, 0.35);
}

body.page-template-privacy-policy #header,
body.error404 #header {
  background: linear-gradient(180deg, rgba(234, 246, 255, 0.96) 0%, rgba(221, 242, 255, 0.92) 100%);
}

/* -------------------------------------------------------------------------
 * 4. BUTTONS (flat, no 3D/clay elevation -- solid color, no shadow)
 * ---------------------------------------------------------------------- */
.btn-main,
.contact-form .gform_wrapper .gform_footer .gform_button,
.catalog-form .gform_wrapper .gform_footer .gform_button,
.ibox-catalog-submit-btn,
.ibox-newsletter-submit,
.pdf-dowonload-button {
  background: var(--brand-orange) !important;
  color: #fff !important;
  border: none;
  box-shadow: none;
  transition: background 0.3s ease;
}

.btn-main:hover,
.contact-form .gform_wrapper .gform_footer .gform_button:hover,
.catalog-form .gform_wrapper .gform_footer .gform_button:hover,
.ibox-catalog-submit-btn:hover,
.ibox-newsletter-submit:hover,
.pdf-dowonload-button:hover {
  background: var(--brand-orange-deep) !important;
  color: #fff !important;
  transform: none;
  box-shadow: none;
}

.catalogue-section .row-wrapper .right-col .btn-main:hover,
.btn-main.sticky-contact-btn:hover {
  background: #fff !important;
  color: var(--brand-orange-deep) !important;
}

.btn-main.sticky-contact-btn {
  padding: 18px 36px;
  box-shadow: 0 8px 24px var(--clay-cta-shadow);
}

/* Mobile-only circular Contact Us button -- per follow-up feedback.
   The equivalent rule in css/style.css (a lower-priority stylesheet)
   was being overridden by the unconditional padding: 18px 36px rule
   just above, since this file is deliberately enqueued last (priority
   20, see ibox_enqueue_claymorphism_theme() in functions.php) so it
   always wins the cascade -- which meant its mobile-only override
   never actually took effect. Placing the override here instead, so
   it wins for the reason this file is meant to win, fixes it for
   real. Matches the WhatsApp button's own 50x50px circular scale. */
@media (max-width: 767px) {
  .btn-main.sticky-contact-btn {
    width: 50px;
    height: 50px;
    min-width: 50px;
    padding: 0;
    border-radius: 50%;
    /* Matches the WhatsApp circle's own shadow value (css/style.css)
       for visual parity -- the pill button's large soft shadow above
       doesn't suit a small circle. */
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .btn-main.sticky-contact-btn svg {
    display: block;
    width: 18px;
    height: 14px;
    margin: 0;
    flex: 0 0 auto;
  }

  .sticky-contact-btn__text {
    display: none;
  }
}

/* Mobile-only vertical stack for both floating buttons -- per follow-up
   feedback (the Contact Us circle was overlapping the WhatsApp circle
   at narrow widths, since each button carried its own independent
   fixed right/bottom values that didn't reliably clear one another).
   .floating-contact-actions (footer.php) wraps both buttons; on
   desktop/tablet it has no styling at all, so each button keeps its
   own existing independent position: fixed exactly as before. Only
   here, at mobile, does the wrapper itself become the single fixed,
   positioned element, with both buttons switched to position: static
   so simple flex-column + gap stacks them predictably -- WhatsApp on
   top, Contact Us below (matching source order in footer.php). */
@media (max-width: 767px) {
  .floating-contact-actions {
    position: fixed;
    right: 16px;
    bottom: 18px;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    gap: 10px;
    z-index: 9999;
  }

  .floating-contact-actions .whatsapp-sticky-button,
  .floating-contact-actions .mobile-call-sticky-button,
  .floating-contact-actions .btn-main.sticky-contact-btn {
    position: static;
    right: auto;
    bottom: auto;
    margin: 0;
  }
}

/* Tablet portrait: reproduces both approved mobile fixes above (the
   circular Contact Us button and the shared flex-stack for both
   floating buttons), using the exact same values. Scoped separately
   so mobile (max-width: 767px), tablet landscape, and desktop are
   never touched by this block. */
@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .btn-main.sticky-contact-btn {
    width: 50px;
    height: 50px;
    min-width: 50px;
    padding: 0;
    border-radius: 50%;
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .btn-main.sticky-contact-btn svg {
    display: block;
    width: 18px;
    height: 14px;
    margin: 0;
    flex: 0 0 auto;
  }

  .sticky-contact-btn__text {
    display: none;
  }

  .floating-contact-actions {
    position: fixed;
    right: 16px;
    bottom: 18px;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    gap: 10px;
    z-index: 9999;
  }

  .floating-contact-actions .whatsapp-sticky-button,
  .floating-contact-actions .mobile-call-sticky-button,
  .floating-contact-actions .btn-main.sticky-contact-btn {
    position: static;
    right: auto;
    bottom: auto;
    margin: 0;
  }
}

/* Floating "open catalog" pill trigger reuses .btn-main styles above via
   its markup class; .catalog-btn itself is just the clickable wrapper. */
.catalog-btn:hover {
  filter: none;
}

/**
 * FLUID DESKTOP FLOATING BUTTON SIZE -- replaces two flat desktop
 * tiers plus a (min-resolution: 2dppx) "Mac" block layered on top
 * (that density check was never a reliable OS signal) with a single
 * clamp() per dimension. Floor matches the old "wide desktop, reduced"
 * tier at a 1101px viewport, ceiling matches the old "normal desktop,
 * restored" tier, reached smoothly by a 1920px viewport instead of
 * jumping at the old 1440px/1600px boundaries. Still scoped to
 * body.home (site-wide markup; every other page is untouched).
 * Position, colours, icons themselves, and hover behaviour are
 * unchanged -- only size.
 */
body.home .btn-main.sticky-contact-btn {
  padding: clamp(14px, 0.4884vw + 8.623px, 18px) clamp(28px, 0.9768vw + 17.245px, 36px);
}

body.home .sticky-contact-btn__text {
  font-size: clamp(12px, 0.2442vw + 9.311px, 14px);
}

body.home .btn-main.sticky-contact-btn svg {
  width: clamp(15px, 0.3663vw + 10.967px, 18px);
  height: clamp(12px, 0.2442vw + 9.311px, 14px);
}

body.home .whatsapp-sticky-button {
  width: clamp(40px, 1.221vw + 26.557px, 50px);
  height: clamp(40px, 1.221vw + 26.557px, 50px);
}

body.home .whatsapp-sticky-button svg {
  width: clamp(19px, 0.6105vw + 12.278px, 24px);
  height: clamp(19px, 0.6105vw + 12.278px, 24px);
}

/* PDF download chip: was a red-tinted flat swatch; now a solid orange
   pill button consistent with the rest of the (now flat) CTA system
   (icon artwork itself is untouched). */
.pdf-dowonload-button {
  border-radius: var(--clay-radius-pill);
}

/* WhatsApp button keeps its recognisable brand green, flat -- no
   drop-shadow elevation. */
.whatsapp-sticky-button {
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.5);
}

/* Mobile Call button matches that same flat treatment, for real visual
   parity with WhatsApp -- not just matching size, but matching what
   WhatsApp actually renders as once this file (loaded after
   css/style.css, see ibox_enqueue_claymorphism_theme() in
   functions.php) has taken effect. Reuses the exact same border colour
   value as WhatsApp's own override just above, not a new one. */
.mobile-call-sticky-button {
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.5);
}

/* Popup close button: flat solid circle, no elevation shadow. */
.dowonload-catalog-form .close-button {
  background-color: var(--clay-accent);
  box-shadow: none;
}

/* -------------------------------------------------------------------------
 * 5. PILLS / TABS
 * ---------------------------------------------------------------------- */
.series-tab-btn {
  background: linear-gradient(150deg, var(--clay-bg-1) 0%, var(--clay-bg-3) 100%);
  border: none;
  border-radius: var(--clay-radius-pill);
  box-shadow: 0 4px 12px rgba(140, 180, 224, 0.14);
}

.series-tab-btn:hover {
  background: linear-gradient(150deg, var(--clay-bg-2) 0%, var(--clay-accent) 100%);
  border-color: var(--clay-accent);
}

.series-tab-btn.active {
  background: linear-gradient(150deg, var(--clay-accent-mid) 0%, var(--clay-accent-deep) 100%);
  border-color: transparent;
  box-shadow: 0 4px 12px rgba(140, 180, 224, 0.18);
}

/* .ibox-explore__tab / .ibox-explore__tab.is-active / ::before / :hover
   rules removed -- that component (template-parts/ibox-explore-section.php,
   the "Discover iBOX" section) has been removed. .series-tab-btn above
   is unrelated/unused pre-existing legacy CSS from an even older Cases
   page and was left as-is (out of scope for this cleanup). */

/* -------------------------------------------------------------------------
 * 6. CARDS & IMAGE TILES
 * ---------------------------------------------------------------------- */

/* Product / case / sector image tiles: soften the black drop-shadow to a
   blue-tinted one and round the corners (previously square). */
ul.series-products-grid li.series-product-card,
ul.case-collection-list-gallery li.case-collection-data .case-collection-img,
ul.sector-box-list li.sector-box .sector-image {
  border-radius: var(--clay-radius-md);
  overflow: hidden;
}

/* .ibox-series-showcase__media rule removed -- belonged to the
   "Discover iBOX" section (css/series-showcase.css), also removed. */

ul.series-products-grid li.series-product-card {
  filter: drop-shadow(0px 10px 24px var(--clay-shadow-soft));
  border-radius: var(--clay-radius-md);
}

ul.series-products-grid li.series-product-card .series-product-title {
  background: linear-gradient(150deg, #ffffff 0%, var(--clay-bg-1) 100%);
}

/* "Who We Are" was redesigned from scratch and moved to its own
   template part + stylesheet (template-parts/who-we-are-section.php,
   css/who-we-are-section.css) -- its image radius/shadow now live
   entirely in that new file, not here. */

/* Feature icon roundels (OPTiCLEAN about section) */
.series-products-icon {
  background: linear-gradient(150deg, #ffffff 0%, var(--clay-bg-1) 100%) !important;
  box-shadow: 0 4px 10px rgba(140, 180, 224, 0.14);
}

/* .ibox-opticlean-promise__icon and .ibox-opticlean-promise__card rules
   removed -- "The OPTiCLEAN Promise" section
   (template-parts/opticlean-promise-section.php) has been removed, as
   has "About OPTiCLEAN" (template-parts/opticlean-about-section.php)
   and its own stylesheet (css/opticlean-premium.css) that a comment
   here used to reference. */

/* -------------------------------------------------------------------------
 * 7. SECTION BACKGROUNDS -- swap flat off-white / beige / grey fills for
 *    tones from the light-blue palette so every section reads as one
 *    consistent system.
 * ---------------------------------------------------------------------- */
.sector-section,
.our-dna-section,
.series-products-section,
.contact-form .gform_wrapper .gfield input,
.contact-form .gform_wrapper .gfield textarea,
.gform_wrapper .gfield select {
  background-color: var(--clay-bg-1);
}

.approach-section {
  background-color: var(--clay-bg-2);
}

.about-us-section,
.prosesses-section {
  background-color: var(--clay-bg-3);
}

.cases-section {
  background-color: var(--clay-bg-1);
}

.cases-section:before {
  background-color: var(--clay-bg-3);
}

/* .ibox-opticlean-promise background rule removed -- section gone. */

/* .ibox-opticlean-about__feature border rule removed -- "About
   OPTiCLEAN" section gone. */

.catalogue-section {
  /* Flat, light, desaturated premium blue -- matched to reference image.
     Solid color, no left-to-right or diagonal gradient. */
  background: var(--clay-catalog-flat);
}

/* -------------------------------------------------------------------------
 * 8. FORMS & INPUTS -- soft inset "pressed clay" fields
 * ---------------------------------------------------------------------- */
.contact-form .gform_wrapper .gfield input,
.contact-form .gform_wrapper .gfield textarea,
.gform_wrapper .gfield select,
.ibox-contact-request-form input,
.ibox-contact-request-form textarea,
.ibox-catalog-form-field input {
  background-color: var(--clay-bg-1) !important;
  border: 1px solid rgba(255, 255, 255, 0.7) !important;
  border-radius: var(--clay-radius-sm) !important;
  box-shadow: inset 3px 3px 8px var(--clay-shadow-soft), inset -3px -3px 8px var(--clay-shadow-light);
}

.contact-form .gform_wrapper .gfield input::placeholder,
.contact-form .gform_wrapper .gfield textarea::placeholder,
.gform_wrapper .gfield select::placeholder {
  background: transparent !important;
}

.ibox-contact-request-form input:focus,
.ibox-contact-request-form textarea:focus,
.ibox-catalog-form-field input:focus {
  background-color: #ffffff !important;
  border-color: var(--clay-accent) !important;
  box-shadow: inset 2px 2px 6px var(--clay-shadow-soft), 0 0 0 4px rgba(79, 157, 255, 0.14);
}

.ibox-catalog-checkbox input[type="checkbox"],
html .contact-form .gform_wrapper .gfield input[type="checkbox"] {
  accent-color: var(--clay-accent);
  background: var(--clay-bg-1);
}

.ibox-catalog-form-message.is-success,
.ibox-contact-request-form .ibox-catalog-form-message.is-success {
  background-color: #E4F6EC;
}

.ibox-catalog-form-message.is-error,
.ibox-contact-request-form .ibox-catalog-form-message.is-error {
  background-color: #FBEAEA;
}

/* Popup + downloadable catalog card */
.dowonload-catalog-form {
  border-radius: var(--clay-radius-lg);
  /* #F7F7F3 (was #ffffff) -- per follow-up feedback ("change white
     backgrounds to the same off-white used in the Why iBOX hero").
     Only the white end of this gradient changes; the light-blue
     var(--clay-surface) end is untouched. */
  background: linear-gradient(160deg, #F7F7F3 0%, var(--clay-surface) 100%) !important;
  box-shadow:
    0 30px 70px rgba(79, 157, 255, 0.28),
    0 4px 16px rgba(79, 157, 255, 0.14);
}

html.show-form body:after {
  background-color: rgba(223, 240, 255, 0.92);
}

/* Footer newsletter field: transparent clay outline on the dark footer */
.email-subscription-form input {
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: inset 2px 2px 6px rgba(0, 0, 0, 0.15);
}

html .email-subscription-form .es-form-field-container input[type="submit"] {
  background-image: url(../images/right-arrow.svg), linear-gradient(150deg, var(--brand-orange-light), var(--brand-orange)) !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: center center, center center !important;
  background-size: 16px 13px, cover !important;
  box-shadow: 0 4px 12px var(--clay-cta-shadow);
}

/* -------------------------------------------------------------------------
 * 9. FOOTER -- deep-blue clay surface (the one intentionally darker
 *    section, used the same way premium brands like Stripe/Apple use a
 *    deep contrast footer band; still entirely within the blue family).
 * ---------------------------------------------------------------------- */
footer {
  /* Deep, flat, premium navy -- matched to reference image. Solid color,
     no left-to-right or diagonal gradient. */
  background: var(--clay-footer-flat);
  border-radius: 0;
  box-shadow: 0 -20px 40px rgba(24, 45, 78, 0.18);
}

.footer-bottom {
  border-top-color: rgba(255, 255, 255, 0.14);
}

/* -------------------------------------------------------------------------
 * 10. SLIDERS / CAROUSELS
 * ---------------------------------------------------------------------- */
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next,
.slick-prev,
.slick-next {
  background: linear-gradient(150deg, #ffffff 0%, var(--clay-bg-1) 100%);
  border-radius: 50%;
  box-shadow: 0 4px 10px rgba(140, 180, 224, 0.14);
}

.owl-carousel .owl-nav button:hover {
  background: linear-gradient(150deg, var(--clay-accent-light) 0%, var(--clay-accent) 100%);
}

.owl-dots button.active,
.main-banner-section.home .main-banner-slider .slick-dots li.slick-active button:before {
  color: var(--clay-accent-light);
}

/* -------------------------------------------------------------------------
 * 11. RESPONSIVE -- keep clay shadows light on small screens for
 *     performance and to avoid crowding tight layouts. No structural /
 *     breakpoint changes; only shadow + blur intensity.
 * ---------------------------------------------------------------------- */
@media (max-width: 767px) {
  #header {
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
  }

  .btn-main,
  .contact-form .gform_wrapper .gform_footer .gform_button,
  .catalog-form .gform_wrapper .gform_footer .gform_button,
  .ibox-catalog-submit-btn,
  .ibox-newsletter-submit {
    box-shadow: 0 4px 12px var(--clay-cta-shadow);
  }

  ul.series-products-grid li.series-product-card {
    filter: drop-shadow(0px 6px 14px var(--clay-shadow-soft));
  }

  footer {
    border-radius: 0;
  }
}

/* -------------------------------------------------------------------------
 * 12. Section removed -- this used to style ".ibox-home-explore-panel",
 *     a Home-Page-only wrapper around the "Discover iBOX" component
 *     (template-parts/ibox-explore-section.php). Both the wrapper (in
 *     front-page.php) and the component itself have been removed.
 * ---------------------------------------------------------------------- */

/* -------------------------------------------------------------------------
 * 13. Home Page "Download Catalogue" section (#catalogue) -- rounder
 *     image corners on the cover photo ONLY. Scoped to the #catalogue
 *     id (unique to the Home Page instance of .catalogue-section, see
 *     front-page.php) so the Accessories / Certifications / Eyewear
 *     Cases / Microfiber Cloths pages, which reuse
 *     the same .catalogue-image markup for their own CTAs, are
 *     untouched. Nothing else in this section (layout, text, button)
 *     is changed.
 * ---------------------------------------------------------------------- */
#catalogue .catalogue-image img {
  border-radius: 28px;
}
