/**
 * o-25 storefront — v1.2
 * Brand-first landing · product photography · quiet chrome
 */

:root {
  --o25-ink: #101c19;
  --o25-ink-soft: #4a5c56;
  --o25-teal: #1a6358;
  --o25-teal-deep: #0a2e2a;
  --o25-teal-mid: #2a8f7f;
  --o25-teal-soft: #e4f0ed;
  --o25-mist: #f0f6f4;
  --o25-paper: #fbfcfb;
  --o25-accent: #b85a28;
  --o25-accent-deep: #8f4318;
  --o25-line: rgba(16, 28, 25, 0.1);
  --o25-radius: 2px;
  --o25-font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --o25-font-body: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --o25-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --o25-measure: 38rem;
  --o25-pad: clamp(1.25rem, 4vw, 3.5rem);
}

html { scroll-behavior: smooth; }

body.o25-theme,
body.o25-theme .site,
body.o25-theme .site-content,
body.o25-theme p,
body.o25-theme li,
body.o25-theme input,
body.o25-theme textarea,
body.o25-theme select,
body.o25-theme button,
body.o25-theme .elementor-widget-text-editor,
body.o25-theme .elementor-widget-heading .elementor-heading-title {
  font-family: var(--o25-font-body);
}

body.o25-theme {
  color: var(--o25-ink);
  background: var(--o25-paper);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

body.o25-theme a {
  color: var(--o25-teal);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
  transition: color 0.25s var(--o25-ease);
}

body.o25-theme a:hover,
body.o25-theme a:focus { color: var(--o25-accent); }

body.o25-theme h1,
body.o25-theme h2,
body.o25-theme h3,
body.o25-theme h4,
body.o25-theme .elementor-heading-title,
body.o25-theme .page-header h1,
body.o25-theme .entry-title,
body.o25-theme .woocommerce-loop-product__title,
body.o25-theme .product_title {
  font-family: var(--o25-font-display);
  font-weight: 650;
  letter-spacing: -0.03em;
  color: var(--o25-ink);
  line-height: 1.15;
  text-wrap: balance;
}

/* -------------------------------------------------------------------------- */
/* Chrome — light header                                                      */
/* -------------------------------------------------------------------------- */

body.o25-theme .site-title,
body.o25-theme .site-title a,
body.o25-theme .navbar-brand {
  font-family: var(--o25-font-display);
  font-size: clamp(1.55rem, 2.2vw, 1.95rem);
  font-weight: 650;
  color: var(--o25-teal-deep) !important;
  letter-spacing: -0.04em;
  text-decoration: none !important;
}

body.o25-theme .site-description,
body.o25-theme .navbar .site-description,
body.o25-theme .site-branding-text {
  display: none !important;
}

/* Logo on packaging blue */
body.o25-theme .site-branding-logo {
  margin: 0.35rem 1rem 0.35rem 0 !important;
  float: left;
}

body.o25-theme .site-branding-logo a.custom-logo-link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: #0b4f8a !important;
  padding: 0.35rem 0.55rem !important;
  border-radius: 2px;
  line-height: 0;
}

body.o25-theme .custom-logo,
body.o25-theme .site-branding-logo img {
  max-height: 48px !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  background: #0b4f8a !important;
}

body.o25-theme .site-header,
body.o25-theme header.header,
body.o25-theme #site-navigation,
body.o25-theme .main-header,
body.o25-theme .navbar {
  background: rgba(247, 248, 246, 0.92) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--o25-line);
  box-shadow: none !important;
  padding-top: 0.35rem !important;
  padding-bottom: 0.35rem !important;
}

/* Menu to the left (Entr defaults to navbar-right) */
body.o25-theme .navbar.navbar-default {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start !important;
}

body.o25-theme .navbar-header {
  float: none !important;
  margin-right: 0.5rem;
}

body.o25-theme .navbar-nav.navbar-right,
body.o25-theme .navbar-nav {
  float: left !important;
  margin-left: 0.25rem !important;
  margin-right: auto !important;
}

body.o25-theme .navbar-collapse {
  float: left !important;
  padding-left: 0 !important;
}

body.o25-theme .navbar-nav > li > a,
body.o25-theme .main-navigation a,
body.o25-theme #menu-primary a,
body.o25-theme .navbar-nav .nav-link,
body.o25-theme header .menu a,
body.o25-theme .site-header .menu-item a {
  font-weight: 600;
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  letter-spacing: 0.01em;
  color: var(--o25-ink) !important;
  text-transform: none !important;
  padding-top: 0.45rem !important;
  padding-bottom: 0.45rem !important;
  padding-left: 0.65rem !important;
  padding-right: 0.65rem !important;
}

body.o25-theme .navbar-nav > li > a:hover,
body.o25-theme .current-menu-item > a {
  color: var(--o25-teal) !important;
}

/* Quieter cart */
body.o25-theme .header-cart-block,
body.o25-theme .cart-contents,
body.o25-theme .amount-cart {
  font-size: 0.85rem !important;
  font-weight: 600;
  opacity: 0.85;
}

body.o25-theme .amount-cart,
body.o25-theme .cart-contents span.count,
body.o25-theme .woocommerce span.onsale {
  background: var(--o25-teal) !important;
}

body.o25-theme .amount-cart:before {
  border-right-color: var(--o25-teal) !important;
}

/* Hide floating Click to Chat — WhatsApp lives in Order */
body.o25-theme .ht-ctc,
body.o25-theme .ht-ctc-chat,
body.o25-theme #ht-ctc-chat,
body.o25-theme .ht_ctc_chat_style,
body.o25-theme .ctc-analytics.ht-ctc {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* -------------------------------------------------------------------------- */
/* Buttons — terracotta accent                                                */
/* -------------------------------------------------------------------------- */

body.o25-theme .button,
body.o25-theme button,
body.o25-theme input[type="submit"],
body.o25-theme .wp-block-button__link,
body.o25-theme .elementor-button,
body.o25-theme .woocommerce a.button,
body.o25-theme .woocommerce button.button,
body.o25-theme .woocommerce input.button,
body.o25-theme .woocommerce #respond input#submit,
body.o25-theme .woocommerce a.button.alt,
body.o25-theme .woocommerce button.button.alt,
body.o25-theme .woocommerce input.button.alt,
body.o25-theme .woocommerce #respond input#submit.alt {
  font-family: var(--o25-font-body) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.02em;
  border-radius: var(--o25-radius) !important;
  border: none !important;
  background: var(--o25-accent) !important;
  color: #fff !important;
  box-shadow: none !important;
  padding: 0.95rem 1.55rem !important;
  transition: background 0.25s var(--o25-ease), transform 0.25s var(--o25-ease), color 0.25s var(--o25-ease);
}

body.o25-theme .button:hover,
body.o25-theme button:hover,
body.o25-theme input[type="submit"]:hover,
body.o25-theme .elementor-button:hover,
body.o25-theme .woocommerce a.button:hover,
body.o25-theme .woocommerce button.button:hover,
body.o25-theme .woocommerce a.button.alt:hover,
body.o25-theme .woocommerce button.button.alt:hover {
  background: var(--o25-accent-deep) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

/* -------------------------------------------------------------------------- */
/* Home landing — light hero + chessboard splits                              */
/* -------------------------------------------------------------------------- */

body.o25-home .site-content,
body.o25-home #content,
body.o25-home .content-area,
body.o25-home .container {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.o25-home .elementor {
  overflow: hidden;
}

body.o25-home .elementor-section.elementor-top-section {
  margin: 0 !important;
}

body.o25-home .elementor-widget:not(:last-child) {
  margin-bottom: 0.85rem !important;
}

/* ---- Light hero: text | product photo ---- */
body.o25-home .o25-hero-light.elementor-section {
  position: relative;
  min-height: min(88vh, 820px);
  display: flex !important;
  align-items: stretch !important;
  overflow: hidden;
  background:
    radial-gradient(ellipse 80% 60% at 15% 40%, rgba(214, 236, 230, 0.9) 0%, transparent 55%),
    linear-gradient(135deg, #fbfcfb 0%, #eef7f4 48%, #e4f1ed 100%) !important;
  border: none !important;
}

body.o25-home .o25-hero-light::before,
body.o25-home .o25-hero-light::after {
  display: none !important;
  content: none !important;
}

body.o25-home .o25-hero-light > .elementor-container {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: min(88vh, 820px);
  align-items: stretch !important;
}

body.o25-home .o25-hero-light > .elementor-container > .elementor-row,
body.o25-home .o25-hero-light .elementor-container {
  min-height: inherit;
}

body.o25-home .o25-hero-copy {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  padding: clamp(3.5rem, 9vh, 6.5rem) var(--o25-pad) !important;
  background: transparent !important;
}

body.o25-home .o25-hero-copy .elementor-widget-wrap {
  max-width: 32rem;
  margin-left: auto;
  margin-right: clamp(1rem, 4vw, 3rem);
}

body.o25-home .o25-hero-light .o25-hero-brand .elementor-heading-title {
  font-size: clamp(4rem, 11vw, 7.2rem) !important;
  font-weight: 650 !important;
  letter-spacing: -0.055em !important;
  line-height: 0.88 !important;
  margin: 0 0 1.1rem !important;
  color: var(--o25-teal-deep) !important;
  opacity: 0;
  animation: o25-fade-up 0.9s var(--o25-ease) 0.08s forwards;
}

body.o25-home .o25-hero-light .o25-hero-title .elementor-heading-title {
  font-size: clamp(1.2rem, 2.3vw, 1.7rem) !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  max-width: 18ch;
  margin: 0 0 0.85rem !important;
  color: var(--o25-ink) !important;
  opacity: 0;
  animation: o25-fade-up 0.9s var(--o25-ease) 0.2s forwards;
}

body.o25-home .o25-hero-light .o25-hero-lead {
  max-width: 28rem;
  opacity: 0;
  animation: o25-fade-up 0.9s var(--o25-ease) 0.32s forwards;
}

body.o25-home .o25-hero-light .o25-hero-lead p {
  font-size: clamp(1rem, 1.45vw, 1.12rem) !important;
  line-height: 1.55 !important;
  color: var(--o25-ink-soft) !important;
  margin: 0 0 1.75rem !important;
  text-align: left !important;
}

body.o25-home .o25-hero-light .o25-cta-primary {
  opacity: 0;
  animation: o25-fade-up 0.9s var(--o25-ease) 0.44s forwards;
}

body.o25-home .o25-hero-light .o25-cta-primary .elementor-button {
  background: var(--o25-accent) !important;
  color: #fff !important;
  min-width: 12rem;
}

body.o25-home .o25-hero-light .o25-hero-secondary {
  opacity: 0;
  animation: o25-fade-up 0.9s var(--o25-ease) 0.54s forwards;
}

body.o25-home .o25-hero-light .o25-hero-secondary p {
  margin: 0.9rem 0 0 !important;
  text-align: left !important;
}

body.o25-home .o25-hero-light .o25-hero-secondary a {
  color: var(--o25-teal) !important;
  font-size: 0.98rem;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(26, 99, 88, 0.35);
}

body.o25-home .o25-hero-light .o25-hero-secondary a:hover {
  color: var(--o25-accent) !important;
  border-bottom-color: var(--o25-accent);
}

body.o25-home .o25-hero-media {
  background:
    linear-gradient(160deg, #dceee8 0%, #c5e0d8 45%, #b7d8cf 100%) !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: clamp(1.5rem, 4vw, 3rem) !important;
  min-height: min(88vh, 820px);
}

body.o25-home .o25-hero-media .elementor-widget-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
}

body.o25-home .o25-hero-media .elementor-widget-image,
body.o25-home .o25-hero-media .elementor-image {
  width: 100% !important;
  margin: 0 !important;
}

body.o25-home .o25-hero-media img {
  width: auto !important;
  max-width: min(100%, 420px) !important;
  height: auto !important;
  max-height: min(78vh, 680px) !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
  filter: drop-shadow(0 18px 40px rgba(10, 46, 42, 0.18));
  border-radius: 0 !important;
  opacity: 0;
  animation: o25-fade-up 1s var(--o25-ease) 0.25s forwards;
}

@keyframes o25-fade-up {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: none; }
}

/* ---- Chessboard splits ---- */
body.o25-home .o25-split.elementor-section {
  background: #fff !important;
  min-height: clamp(420px, 58vh, 640px);
}

body.o25-home .o25-split:nth-of-type(even),
body.o25-home .o25-split.o25-price-grid {
  background: var(--o25-mist) !important;
}

body.o25-home .o25-split > .elementor-container {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: inherit;
}

body.o25-home .o25-split-media {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: clamp(420px, 58vh, 640px);
  padding: clamp(2rem, 5vw, 3.5rem) !important;
  background: #e8f3ef !important;
}

body.o25-home .o25-media-powder {
  background:
    radial-gradient(circle at 50% 45%, #fff 0%, #eef7f3 55%, #d9ebe4 100%) !important;
}

body.o25-home .o25-media-pack {
  background:
    linear-gradient(160deg, #eef6f3 0%, #dceee8 100%) !important;
}

body.o25-home .o25-media-side {
  background:
    linear-gradient(200deg, #f3f8f6 0%, #e2efe9 100%) !important;
}

body.o25-home .o25-split-media .elementor-widget-wrap {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
}

body.o25-home .o25-split-media .elementor-widget-image,
body.o25-home .o25-split-media .elementor-image {
  width: 100% !important;
  margin: 0 !important;
}

body.o25-home .o25-split-media img {
  width: auto !important;
  max-width: min(100%, 380px) !important;
  height: auto !important;
  max-height: min(62vh, 520px) !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
  margin: 0 auto !important;
  border-radius: 0 !important;
  filter: drop-shadow(0 14px 32px rgba(10, 46, 42, 0.12));
}

body.o25-home .o25-media-powder img {
  max-width: min(100%, 300px) !important;
  max-height: min(55vh, 420px) !important;
}

body.o25-home .o25-split-copy {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  padding: clamp(3rem, 7vw, 5rem) var(--o25-pad) !important;
  background: transparent !important;
}

body.o25-home .o25-split-copy .elementor-widget-wrap {
  max-width: 28rem;
}

body.o25-home .o25-split-ltr .o25-split-copy .elementor-widget-wrap {
  margin-right: auto;
  margin-left: clamp(0.5rem, 2vw, 2rem);
}

body.o25-home .o25-split-rtl .o25-split-copy .elementor-widget-wrap {
  margin-left: auto;
  margin-right: clamp(0.5rem, 2vw, 2rem);
}

body.o25-home .o25-split-copy .elementor-heading-title {
  font-size: clamp(1.55rem, 3vw, 2.15rem) !important;
  margin: 0 0 1.1rem !important;
  max-width: 14ch;
  color: var(--o25-ink) !important;
}

body.o25-home .o25-split-copy .elementor-widget-text-editor p {
  font-size: 1.05rem;
  color: var(--o25-ink-soft);
  margin: 0 0 0.9rem;
}

body.o25-home .o25-split-copy .elementor-widget-text-editor strong {
  color: var(--o25-ink);
  font-weight: 650;
}

/* Pricing inside split */
body.o25-home .o25-price-grid .o25-price-featured {
  max-width: none !important;
}

body.o25-home .o25-price-grid .o25-price-main {
  margin: 0 0 0.35rem !important;
}

body.o25-home .o25-price-grid .o25-price-main strong {
  font-family: var(--o25-font-display);
  font-size: clamp(2.4rem, 5vw, 3.4rem);
  letter-spacing: -0.04em;
  font-weight: 650;
  color: var(--o25-ink);
  line-height: 1;
}

body.o25-home .o25-price-grid .o25-price-meta {
  font-size: 1rem !important;
  margin-bottom: 1.35rem !important;
}

body.o25-home .o25-price-grid .o25-cta-primary {
  margin-bottom: 1.25rem !important;
  opacity: 1;
  animation: none;
}

body.o25-home .o25-price-grid .o25-price-alt {
  font-size: 1.02rem !important;
  margin-bottom: 0.75rem !important;
  padding-top: 1.25rem;
  border-top: 1px solid var(--o25-line);
}

body.o25-home .o25-price-grid em {
  font-style: normal;
  font-size: 0.92rem !important;
  color: var(--o25-ink-soft);
}

/* Note + Order */
body.o25-home .o25-section.o25-note > .elementor-container,
body.o25-home .o25-section.o25-order > .elementor-container {
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: clamp(3rem, 7vw, 4.5rem) var(--o25-pad) !important;
}

body.o25-home .o25-note {
  background: #f3f7f5 !important;
}

body.o25-home .o25-note .elementor-heading-title {
  font-size: 1rem !important;
  font-family: var(--o25-font-body) !important;
  font-weight: 650 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--o25-ink-soft) !important;
  max-width: none;
}

body.o25-home .o25-note .elementor-widget-text-editor p {
  font-size: 0.95rem;
  max-width: 36rem;
  color: var(--o25-ink-soft);
}

body.o25-home .o25-order {
  background: var(--o25-teal-deep) !important;
}

body.o25-home .o25-order .elementor-heading-title {
  color: #f4f7f5 !important;
}

body.o25-home .o25-order .elementor-widget-text-editor p,
body.o25-home .o25-order a {
  color: rgba(228, 240, 237, 0.9) !important;
}

body.o25-home .o25-order .o25-cta-primary .elementor-button {
  background: var(--o25-accent) !important;
  color: #fff !important;
}

body.o25-home .o25-order .o25-cta-secondary .elementor-button {
  background: transparent !important;
  color: #e4f0ed !important;
  box-shadow: inset 0 0 0 1.5px rgba(228, 240, 237, 0.45) !important;
}

body.o25-home .o25-order .o25-cta-secondary .elementor-button:hover {
  background: rgba(244, 247, 245, 0.08) !important;
  color: #fff !important;
}

@media (max-width: 767px) {
  body.o25-home .o25-hero-light,
  body.o25-home .o25-hero-light > .elementor-container,
  body.o25-home .o25-hero-media {
    min-height: 0;
  }

  body.o25-home .o25-hero-media {
    min-height: 52vh;
    padding: 2rem 1.5rem !important;
  }

  body.o25-home .o25-hero-media img {
    max-height: 46vh !important;
  }

  body.o25-home .o25-hero-copy .elementor-widget-wrap {
    margin-right: 0;
    margin-left: 0;
  }

  body.o25-home .o25-split,
  body.o25-home .o25-split-media {
    min-height: 0;
  }

  body.o25-home .o25-split-media {
    min-height: 280px;
    padding: 2rem 1.25rem !important;
  }

  body.o25-home .o25-split-media img {
    max-height: 260px !important;
  }

  body.o25-home .o25-split-ltr .o25-split-copy .elementor-widget-wrap,
  body.o25-home .o25-split-rtl .o25-split-copy .elementor-widget-wrap {
    margin-left: 0;
    margin-right: 0;
  }
}

/* -------------------------------------------------------------------------- */
/* Inner pages — shop, product, blog, contacts                                */
/* -------------------------------------------------------------------------- */

body.o25-theme .content-area,
body.o25-theme .site-main,
body.o25-theme.single .entry-content,
body.o25-theme.page .entry-content {
  max-width: 920px;
}

body.o25-theme.single-product .content-area,
body.o25-theme.o25-shop .content-area {
  max-width: 1100px;
}

body.o25-theme .page-header,
body.o25-theme .woocommerce-products-header {
  border-bottom: 1px solid var(--o25-line);
  margin-bottom: 1.75rem;
  padding-bottom: 1rem;
}

body.o25-theme .page-header h1,
body.o25-theme .woocommerce-products-header h1 {
  font-size: clamp(1.8rem, 3vw, 2.4rem);
}

body.o25-theme article.post,
body.o25-theme .blog .post,
body.o25-theme .archive .post {
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--o25-line);
  border-radius: 0;
  padding: 1.5rem 0;
}

body.o25-theme article.post:hover {
  transform: none;
  border-color: var(--o25-teal);
}

body.o25-theme.single-post .entry-content,
body.o25-theme .type-post .entry-content {
  font-size: 1.06rem;
  max-width: var(--o25-measure);
}

body.o25-theme.single-post .entry-content h2 {
  margin-top: 2.2rem;
  font-size: clamp(1.35rem, 2vw, 1.7rem);
}

body.o25-theme.single-post .entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.25rem 0;
  font-size: 0.95rem;
}

body.o25-theme.single-post .entry-content th,
body.o25-theme.single-post .entry-content td {
  border: 1px solid var(--o25-line);
  padding: 0.65rem 0.75rem;
  text-align: left;
  vertical-align: top;
}

body.o25-theme.single-post .entry-content th {
  background: var(--o25-teal-soft);
  font-weight: 600;
}

body.o25-theme.single-post .entry-content blockquote {
  margin: 1.5rem 0;
  padding: 0.85rem 1.1rem;
  border-left: 3px solid var(--o25-teal);
  background: rgba(228, 240, 237, 0.45);
  font-family: var(--o25-font-display);
  font-size: 1.1rem;
}

body.o25-theme .woocommerce ul.products li.product {
  background: transparent;
  border: 1px solid var(--o25-line);
  border-radius: var(--o25-radius);
  padding: 1rem;
}

body.o25-theme .woocommerce div.product p.price,
body.o25-theme .woocommerce ul.products li.product .price {
  color: var(--o25-teal-deep) !important;
  font-family: var(--o25-font-display);
  font-weight: 650;
  font-size: 1.35rem;
}

body.o25-theme.single-product .product_title {
  font-size: clamp(1.7rem, 3vw, 2.3rem);
}

body.o25-theme.single-product .woocommerce-product-details__short-description,
body.o25-theme.single-product .entry-summary {
  font-size: 1.05rem;
  color: var(--o25-ink-soft);
}

body.o25-theme.single-product .quantity .qty {
  border: 1px solid var(--o25-line) !important;
  border-radius: var(--o25-radius);
}

/* -------------------------------------------------------------------------- */
/* Footer — full legal set                                                    */
/* -------------------------------------------------------------------------- */

body.o25-theme .site-footer,
body.o25-theme footer#colophon,
body.o25-theme .footer-credits,
body.o25-theme .footer-widgets,
body.o25-theme .o25-site-footer {
  background: #0b4f8a !important;
  color: rgba(244, 247, 245, 0.9) !important;
  border-top: none;
  float: none !important;
  width: 100% !important;
  clear: both;
}

body.o25-theme .footer-widgets,
body.o25-theme .footer-credits-text {
  display: none !important;
}

body.o25-theme .o25-site-footer__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: clamp(2.5rem, 5vw, 3.5rem) var(--o25-pad);
  display: grid;
  grid-template-columns: 1fr 1.35fr 1fr 1fr;
  gap: 2rem 2rem;
}

body.o25-theme .o25-site-footer__name {
  font-family: var(--o25-font-display);
  font-size: 1.85rem;
  font-weight: 650;
  letter-spacing: -0.04em;
  color: #fff !important;
  margin: 0 0 0.35rem !important;
}

body.o25-theme .o25-site-footer__tag {
  color: rgba(230, 240, 248, 0.85) !important;
  font-size: 0.95rem;
  margin: 0 !important;
}

body.o25-theme .o25-site-footer__contacts {
  font-size: 0.95rem;
  line-height: 1.7;
  margin: 0 0 1rem !important;
}

body.o25-theme .o25-site-footer__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0 0 0.75rem !important;
}

body.o25-theme .o25-site-footer__btn {
  display: inline-block;
  background: var(--o25-accent) !important;
  color: #fff !important;
  font-weight: 600;
  font-size: 0.88rem;
  padding: 0.65rem 1rem;
  border-radius: var(--o25-radius);
  text-decoration: none !important;
  border: none !important;
}

body.o25-theme .o25-site-footer__btn:hover {
  background: var(--o25-accent-deep) !important;
  color: #fff !important;
}

body.o25-theme .o25-site-footer__btn--ghost {
  background: transparent !important;
  box-shadow: inset 0 0 0 1.5px rgba(228, 240, 237, 0.45);
  color: #e8f1f8 !important;
}

body.o25-theme .o25-site-footer__btn--ghost:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}

body.o25-theme .o25-site-footer__contact-link {
  margin: 0 !important;
  font-size: 0.92rem;
}

body.o25-theme .o25-site-footer__nav-title {
  font-family: var(--o25-font-body);
  font-size: 0.78rem !important;
  font-weight: 650;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7) !important;
  margin: 0 0 0.85rem !important;
}

body.o25-theme .o25-site-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.o25-theme .o25-site-footer li {
  margin: 0 0 0.55rem;
}

body.o25-theme .o25-site-footer a,
body.o25-theme footer#colophon a {
  color: #e8f1f8 !important;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

body.o25-theme .o25-site-footer a:hover {
  color: #fff !important;
  border-bottom-color: rgba(255, 255, 255, 0.45);
}

body.o25-theme .o25-site-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  padding: 1rem var(--o25-pad) 1.35rem;
  text-align: center;
  font-size: 0.85rem;
  color: rgba(230, 240, 248, 0.7) !important;
}

body.o25-theme .o25-site-footer__bottom p {
  margin: 0 !important;
  color: inherit !important;
}

@media (max-width: 767px) {
  body.o25-theme .o25-site-footer__inner {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  body.o25-theme .navbar-nav.navbar-right,
  body.o25-theme .navbar-nav {
    float: none !important;
    margin-left: 0 !important;
  }
}

/* -------------------------------------------------------------------------- */
/* Motion                                                                     */
/* -------------------------------------------------------------------------- */

body.o25-theme .o25-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.8s var(--o25-ease), transform 0.8s var(--o25-ease);
}

body.o25-theme .o25-reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body.o25-theme .o25-reveal,
  body.o25-theme .button:hover,
  body.o25-home .o25-hero::before,
  body.o25-home .o25-hero-brand .elementor-heading-title,
  body.o25-home .o25-hero-title .elementor-heading-title,
  body.o25-home .o25-hero-lead,
  body.o25-home .o25-cta-primary,
  body.o25-home .o25-hero-secondary,
  body.o25-home .o25-hero-media img {
    animation: none !important;
    transition: none;
    transform: none;
    opacity: 1;
  }
}

body.o25-theme input[type="text"],
body.o25-theme input[type="email"],
body.o25-theme input[type="tel"],
body.o25-theme input[type="number"],
body.o25-theme input[type="search"],
body.o25-theme textarea,
body.o25-theme select {
  border: 1px solid var(--o25-line) !important;
  border-radius: var(--o25-radius) !important;
  background: #fff !important;
  color: var(--o25-ink);
  padding: 0.65rem 0.8rem;
}

body.o25-theme input:focus,
body.o25-theme textarea:focus,
body.o25-theme select:focus {
  outline: 2px solid rgba(26, 99, 88, 0.35);
  outline-offset: 1px;
  border-color: var(--o25-teal) !important;
}
