@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=DM+Sans:wght@300;400;500;600&display=swap");

/*
 * Kartika static site — design system & Elementor mirror overrides.
 * Homepage layout: kartika-home.css (loaded only from index.html).
 */

:root {
  /* Brand primitives */
  --onyx: #0e0e0c;
  --onyx-mid: #1c1c18;
  --onyx-warm: #2a2a24;
  --charcoal: #3d3d36;

  --gold: #c8933c;
  --gold-light: #e0b76a;
  --gold-pale: #f7edd8;
  --gold-dark: #9a6d26;
  --gold-glow: rgba(200, 147, 60, 0.18);
  --brand-green: #2c2c28;
  --brand-green-deep: #1c1c18;
  --brand-green-soft: #f0ebe0;
  --brand-green-line: #ddd4c3;
  --focus-ring: rgba(200, 147, 60, 0.22);

  --cream: #faf7f2;
  --cream-mid: #f0ebe0;
  --cream-dark: #ddd4c3;

  --slate: #2c2c28;
  --slate-light: #6b6860;
  --text: #1f1d1a;
  --text-muted: #6d675e;
  --white: #ffffff;

  /* Semantic aliases (use for new / refactored rules) */
  --color-bg: var(--cream);
  --color-surface: #fbfbf9;
  --color-surface-soft: #f8f2e7;
  --color-text: var(--text);
  --color-text-muted: var(--text-muted);
  --color-border: #ddd4c3;
  --color-border-strong: #cfc3ad;
  --color-text-strong: #171612;
  --color-text-soft: #67635a;
  --color-link: var(--gold-dark);
  --color-link-hover: var(--onyx);

  /* Surfaces (aligned with premium layer) */
  --surface: #fbfbf9;
  --surface-soft: #f8f2e7;
  --line: #ddd4c3;
  --line-strong: #cfc3ad;
  --text-strong: #171612;
  --text-soft: #67635a;

  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body: "DM Sans", "Helvetica Neue", sans-serif;

  --r-sm: 4px;
  --r-md: 10px;
  --r-lg: 18px;
  --r-xl: 32px;

  --shadow-sm: 0 2px 14px rgba(20, 17, 11, 0.07);
  --shadow-md: 0 8px 32px rgba(20, 17, 11, 0.12);
  --shadow-lg: 0 22px 58px rgba(20, 17, 11, 0.18);
  --shadow-gold: 0 12px 34px rgba(185, 138, 61, 0.28);

  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);

  /* One content width for .wrap and Elementor inner containers */
  --max-w: 1200px;
  --layout-max: 1200px;
  --pad: clamp(16px, 4vw, 36px);

  /* Spacing scale (4-based) */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;

  /* Z-index scale */
  --z-dropdown: 300;
  --z-sticky: 500;
  --z-overlay: 900;
  --z-modal: 1000;
  /* Site chrome above page content / Elementor sections */
  --z-sticky-header: 12000;

  /* Breakpoints (documented; use in media queries) */
  --bp-sm: 480px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1200px;

  /* Full-bleed Elementor heroes (override embedded 70/50/30vh; keep modest so content isn’t buried) */
  --kartika-hero-min-desktop: min(50vh, 460px);
  --kartika-hero-min-tablet: min(42vh, 380px);
  --kartika-hero-min-mobile: clamp(220px, 36vh, 360px);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--text-strong);
  background: linear-gradient(180deg, #faf7f2 0%, #f2ecdf 100%);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover {
  color: var(--gold-dark);
}

h1,
h2,
h3,
h4 {
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--onyx);
  line-height: 1.25;
}

p,
li {
  color: var(--text-muted);
}

/* Shared chrome from homepage */
.wrap { max-width: var(--max-w); margin: 0 auto; padding: 0 var(--pad); }
.logo { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.logo__img { display: block; height: 48px; width: 48px; object-fit: cover; object-position: center 18%; flex-shrink: 0; border-radius: 4px; }
.footer .logo__img { height: 52px; width: 52px; }
.logo__svg { width: 42px; height: 42px; flex-shrink: 0; }
.logo__text { display: flex; flex-direction: column; gap: 0; }
.logo__name { font-family: var(--font-display); font-size: 1.45rem; font-weight: 700; color: var(--onyx); line-height: 1; letter-spacing: -0.01em; }
.logo__tagline { font-size: 0.56rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); line-height: 1; margin-top: 3px; }
.logo--light .logo__name { color: var(--white); }
.logo--light .logo__tagline { color: var(--gold-light); }

.topbar {
  background: var(--onyx);
  color: rgba(255,255,255,0.58);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  padding: 9px 0;
}
.topbar__inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }
.topbar__left { display: flex; gap: 24px; }
.topbar__right { display: flex; gap: 20px; align-items: center; }
.topbar a { color: rgba(255,255,255,0.55); }
.topbar a:hover { color: var(--gold-light); }
.topbar__cert {
  background: rgba(200, 147, 60, 0.22);
  color: var(--gold-light);
  padding: 3px 12px;
  border-radius: 100px;
  font-weight: 600;
  font-size: 0.67rem;
  letter-spacing: 0.1em;
}

.header {
  position: sticky;
  top: 0;
  z-index: var(--z-sticky-header);
  /* Solid bar so hero/content never reads through; blur optional on top */
  background-color: var(--surface);
  background: linear-gradient(to bottom, #fdfcfa 0%, var(--surface) 100%);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--cream-dark);
  box-shadow: var(--shadow-sm);
  overflow: visible !important;
  isolation: isolate;
}
.header__inner { display: flex; align-items: center; height: 84px; gap: 32px; }

.nav { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.nav__item { position: relative; padding-bottom: 12px; margin-bottom: -12px; }
.nav__item::after {
  content: "";
  position: absolute;
  left: -18px;
  right: -18px;
  top: 100%;
  height: 12px;
}
.header__inner,
.nav,
.nav__item {
  overflow: visible !important;
}
.nav__link {
  display: flex; align-items: center; gap: 4px;
  padding: 9px 14px;
  font-size: 0.84rem; font-weight: 500;
  color: var(--charcoal);
  border-radius: var(--r-sm);
  transition: color 0.2s, background 0.2s;
  cursor: pointer;
}
.nav__caret { font-size: 0.5rem; transition: transform 0.25s; opacity: 0.55; }
.nav__item:hover .nav__caret { transform: rotate(180deg); }
.dropdown {
  position: absolute; top: 100%; left: 0;
  min-width: 230px; background: var(--white);
  border: 1px solid var(--cream-dark); border-radius: var(--r-md);
  box-shadow: var(--shadow-lg); padding: 5px 0;
  max-height: none;
  overflow: visible;
  display: none;
  opacity: 0; visibility: hidden; transform: none;
  transition: all 0.25s var(--ease); z-index: var(--z-dropdown);
  pointer-events: auto;
}
.nav__item:hover .dropdown,
.nav__item:focus-within .dropdown {
  display: block;
  opacity: 1;
  visibility: visible;
  transform: none;
}
.dropdown a {
  display: block; padding: 7px 16px;
  font-size: 0.81rem; line-height: 1.25; color: var(--charcoal);
  transition: background 0.15s, color 0.15s, padding-left 0.2s;
}
.dropdown a:hover { background: var(--cream); color: var(--onyx); padding-left: 22px; }
.dropdown__divider { display: none !important; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 36px; font-family: var(--font-body); font-size: 0.875rem; font-weight: 600;
  letter-spacing: 0.06em; border-radius: var(--r-sm);
  border: 2px solid transparent; cursor: pointer; transition: all 0.3s var(--ease); white-space: nowrap;
}
.btn-gold { background: var(--gold); color: var(--onyx); border-color: var(--gold); }
.btn-gold:hover { background: var(--gold-dark); border-color: var(--gold-dark); transform: translateY(-2px); box-shadow: var(--shadow-gold); color: var(--onyx); }

.nav__link:hover {
  background: var(--cream-mid);
  color: var(--onyx);
}

.dropdown {
  border-color: var(--cream-dark);
}

.dropdown a:hover {
  background: var(--cream);
  color: var(--onyx);
}

.hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  padding: 8px;
  margin-left: auto;
}
.hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--onyx);
  border-radius: 2px;
  transition: all 0.3s var(--ease);
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.footer { background: var(--onyx-mid); color: rgba(255,255,255,0.55); margin-top: 48px; }
.footer__top { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; padding: 56px 0 40px; }
.footer__brand p { font-size: 0.875rem; line-height: 1.8; margin-top: 18px; color: rgba(255,255,255,0.45); max-width: 360px; }
.footer__col h4 { font-family: var(--font-display); font-size: 1rem; font-weight: 600; color: var(--white); margin-bottom: 18px; letter-spacing: 0.02em; }
.footer__col ul { display: flex; flex-direction: column; gap: 10px; list-style: none; padding: 0; margin: 0; }
.footer__col ul a { font-size: 0.865rem; color: rgba(255,255,255,0.45); transition: color 0.2s, padding-left 0.2s; display: block; }
.footer__col ul a:hover { color: var(--gold-light); padding-left: 6px; }
.footer__bottom { border-top: 1px solid rgba(255,255,255,0.08); }
.footer__bottom-inner { display: flex; justify-content: space-between; align-items: center; padding: 22px 0; font-size: 0.78rem; flex-wrap: wrap; gap: 12px; }
.fbot-links { display: flex; gap: 24px; }
.fbot-links a { color: rgba(255,255,255,0.35); }
.fbot-links a:hover { color: var(--gold-light); }

/* --- Elementor layout shells (no frontend.min.css) --- */
.e-flex {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
}

.e-con.e-parent {
  width: 100%;
}

.e-con-inner {
  width: 100%;
  max-width: var(--max-w);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--pad);
  padding-right: var(--pad);
}

.e-con-full {
  width: 100%;
}

/* Restore Elementor responsive visibility helpers */
@media (min-width: 1025px) {
  .elementor-hidden-desktop {
    display: none !important;
  }
}

@media (max-width: 1024px) {
  .elementor-hidden-tablet {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .elementor-hidden-mobile {
    display: none !important;
  }
}

/* Sticky spacer clones and collapsed duplicate nav container */
.elementor-sticky__spacer {
  display: none !important;
}

header.elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
  display: none !important;
}

header.elementor-location-header [class*="elementor-sticky"] {
  position: relative !important;
  top: auto !important;
  width: 100% !important;
  max-width: 100% !important;
}

body > header.elementor-location-header ~ header.elementor-location-header {
  display: none !important;
}

/* Header strip — match homepage .header */
header.elementor-location-header {
  position: relative;
  z-index: var(--z-sticky-header) !important;
  background-color: var(--surface) !important;
  background: linear-gradient(to bottom, #fdfcfa 0%, var(--surface) 100%) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--cream-dark) !important;
  box-shadow: var(--shadow-sm);
}

header.elementor-location-header .e-con-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 14px;
  min-height: 72px;
}

header.elementor-location-header .e-con-inner > .e-con {
  min-width: 0;
}

header.elementor-location-header .e-con-inner > .e-con:first-child,
header.elementor-location-header .e-con-inner > .e-con:last-child {
  flex: 0 0 auto !important;
}

header.elementor-location-header .e-con-inner > .e-con:nth-child(2) {
  flex: 1 1 auto !important;
}

header.elementor-location-header .elementor-widget-button {
  margin: 0 !important;
}

/* Nav — homepage feel */
.elementor-nav-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem 0.5rem;
  align-items: center;
}

.elementor-nav-menu .menu-item {
  list-style: none;
  position: relative;
}

.elementor-nav-menu a,
.elementor-nav-menu .elementor-item {
  text-decoration: none;
  font-family: var(--font-body);
  font-size: 0.84rem !important;
  font-weight: 500 !important;
  color: var(--charcoal) !important;
  padding: 9px 12px !important;
  border-radius: var(--r-sm);
  transition: background 0.2s, color 0.2s;
  display: inline-block;
}

.elementor-nav-menu a:hover,
.elementor-nav-menu .elementor-item:hover {
  background: var(--cream-mid) !important;
  color: var(--onyx) !important;
}

.elementor-nav-menu .sub-menu {
  list-style: none;
  margin: 0.35rem 0 0;
  padding: 8px 0;
  background: var(--white) !important;
  border: 1px solid var(--cream-dark) !important;
  border-radius: var(--r-md);
  box-shadow: var(--shadow-lg) !important;
  min-width: 15rem;
  display: none;
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  z-index: var(--z-dropdown);
}

.elementor-nav-menu .menu-item-has-children:hover > .sub-menu,
.elementor-nav-menu .menu-item-has-children:focus-within > .sub-menu {
  display: block;
}

.elementor-nav-menu .sub-menu a,
.elementor-nav-menu .sub-menu .elementor-sub-item {
  display: block;
  padding: 10px 20px !important;
  font-size: 0.845rem !important;
  font-weight: 500 !important;
  color: var(--charcoal) !important;
}

.elementor-nav-menu .sub-menu a:hover {
  background: var(--cream) !important;
  padding-left: 26px !important;
}

.elementor-nav-menu .sub-arrow svg.e-font-icon-svg,
.elementor-menu-toggle svg {
  width: 0.55em !important;
  height: 0.55em !important;
  max-width: 12px;
  max-height: 12px;
  vertical-align: middle;
  opacity: 0.55;
}

.elementor-menu-toggle {
  display: none;
}

/* Elementor creates duplicate "dropdown clone" navs; hide clones globally */
.elementor-widget-nav-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container {
  display: none !important;
}

/*
 * Hero min-height: all Elementor containers exported with --min-height:*vh
 * (see extraction: elementor-element-* matching inline hero banners).
 */
.e-con.e-parent:is(
  .elementor-element-0e04bfe,
  .elementor-element-0e724e2,
  .elementor-element-1d43404,
  .elementor-element-2c9582e,
  .elementor-element-4acf566,
  .elementor-element-5282ae0,
  .elementor-element-54fb0fe,
  .elementor-element-632ada0,
  .elementor-element-6b0cf34,
  .elementor-element-7277ea4,
  .elementor-element-7746f73,
  .elementor-element-82ac81d,
  .elementor-element-a4431ba,
  .elementor-element-b7868a7,
  .elementor-element-be996af,
  .elementor-element-c756a4b,
  .elementor-element-cf916fe,
  .elementor-element-d35f549,
  .elementor-element-d5ce3ba,
  .elementor-element-dadfa35,
  .elementor-element-e927947,
  .elementor-element-f457687,
  .elementor-element-fbdc09f,
  .elementor-element-fd4861d
) {
  --min-height: var(--kartika-hero-min-desktop) !important;
  min-height: var(--kartika-hero-min-desktop) !important;
}

@media (max-width: 1024px) {
  .e-con.e-parent:is(
    .elementor-element-0e04bfe,
    .elementor-element-0e724e2,
    .elementor-element-1d43404,
    .elementor-element-2c9582e,
    .elementor-element-4acf566,
    .elementor-element-5282ae0,
    .elementor-element-54fb0fe,
    .elementor-element-632ada0,
    .elementor-element-6b0cf34,
    .elementor-element-7277ea4,
    .elementor-element-7746f73,
    .elementor-element-82ac81d,
    .elementor-element-a4431ba,
    .elementor-element-b7868a7,
    .elementor-element-be996af,
    .elementor-element-c756a4b,
    .elementor-element-cf916fe,
    .elementor-element-d35f549,
    .elementor-element-d5ce3ba,
    .elementor-element-dadfa35,
    .elementor-element-e927947,
    .elementor-element-f457687,
    .elementor-element-fbdc09f,
    .elementor-element-fd4861d
  ) {
    --min-height: var(--kartika-hero-min-tablet) !important;
    min-height: var(--kartika-hero-min-tablet) !important;
  }
}

@media (max-width: 767px) {
  .e-con.e-parent:is(
    .elementor-element-0e04bfe,
    .elementor-element-0e724e2,
    .elementor-element-1d43404,
    .elementor-element-2c9582e,
    .elementor-element-4acf566,
    .elementor-element-5282ae0,
    .elementor-element-54fb0fe,
    .elementor-element-632ada0,
    .elementor-element-6b0cf34,
    .elementor-element-7277ea4,
    .elementor-element-7746f73,
    .elementor-element-82ac81d,
    .elementor-element-a4431ba,
    .elementor-element-b7868a7,
    .elementor-element-be996af,
    .elementor-element-c756a4b,
    .elementor-element-cf916fe,
    .elementor-element-d35f549,
    .elementor-element-d5ce3ba,
    .elementor-element-dadfa35,
    .elementor-element-e927947,
    .elementor-element-f457687,
    .elementor-element-fbdc09f,
    .elementor-element-fd4861d
  ) {
    --min-height: var(--kartika-hero-min-mobile) !important;
    min-height: var(--kartika-hero-min-mobile) !important;
  }
}

/* Archive / page heroes */
.elementor-heading-title,
.elementor-widget-theme-archive-title .elementor-heading-title {
  font-family: var(--font-display) !important;
  color: var(--onyx) !important;
}

/* Improve title readability on image hero banners */
body.archive.tax-product_cat .elementor-location-archive > .e-con.e-parent:first-child[data-settings*="background_background"]::before,
body.single-product .elementor-location-single > .e-con.e-parent:first-child[data-settings*="background_background"]::before,
body.page .elementor > .e-con.e-parent:first-child[data-settings*="background_background"]::before,
body.blog .elementor > .e-con.e-parent:first-child[data-settings*="background_background"]::before {
  background: linear-gradient(
    180deg,
    rgba(22, 20, 17, 0.34) 0%,
    rgba(22, 20, 17, 0.28) 50%,
    rgba(22, 20, 17, 0.22) 100%
  ) !important;
  opacity: 1 !important;
}

body.archive.tax-product_cat .elementor-location-archive > .e-con.e-parent:first-child .elementor-heading-title,
body.single-product .elementor-location-single > .e-con.e-parent:first-child .elementor-heading-title,
body.page .elementor > .e-con.e-parent:first-child .elementor-heading-title,
body.blog .elementor > .e-con.e-parent:first-child .elementor-heading-title {
  color: #f7f5ef !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
}

body.archive.tax-product_cat .elementor-location-archive > .e-con.e-parent:first-child .elementor-widget-heading .elementor-widget-container,
body.single-product .elementor-location-single > .e-con.e-parent:first-child .elementor-widget-heading .elementor-widget-container,
body.page .elementor > .e-con.e-parent:first-child .elementor-widget-heading .elementor-widget-container,
body.blog .elementor > .e-con.e-parent:first-child .elementor-widget-heading .elementor-widget-container {
  display: inline-block;
  background: rgba(20, 18, 14, 0.42);
  border: 1px solid rgba(232, 226, 212, 0.38);
  border-radius: var(--r-md);
  padding: 10px 20px;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
}

.elementor-29449 .elementor-element-a4431ba .elementor-heading-title,
.elementor-location-archive .elementor-widget-heading .elementor-heading-title {
  font-style: italic;
}

body.archive.tax-product_cat .elementor-location-archive h2.elementor-heading-title {
  font-size: 50px !important;
  line-height: 1.1 !important;
}

/* Content bands */
.elementor-29449 .elementor-element-62d19fc,
.elementor-location-archive [class*="e-child"][data-id="654874b"] {
  background: var(--cream) !important;
}

/* --- Product grid cards — match homepage .pcard --- */
.elementor-posts.elementor-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
  gap: 1.25rem !important;
}

article.elementor-post.elementor-grid-item {
  margin: 0 !important;
  padding: 0 !important;
  background: var(--white) !important;
  border: 1px solid var(--cream-dark) !important;
  border-radius: var(--r-lg) !important;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
  border-top: 3px solid rgba(47, 55, 47, 0.24) !important;
}

article.elementor-post.elementor-grid-item:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-lg);
  z-index: 2;
}

article.elementor-post .elementor-post__thumbnail__link {
  display: block !important;
  position: relative;
  z-index: 3;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(200, 147, 60, 0.25);
}

article.elementor-post .elementor-post__thumbnail {
  margin: 0 !important;
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--cream-mid);
}

article.elementor-post .elementor-post__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.55s var(--ease);
}

article.elementor-post:hover .elementor-post__thumbnail img {
  transform: scale(1.06);
}

article.elementor-post .elementor-post__text {
  padding: 16px 14px 20px !important;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: color-mix(in srgb, var(--surface-soft) 78%, #fff 22%);
  border-top: 1px solid var(--line);
}

article.elementor-post .elementor-post__title,
article.elementor-post .elementor-post__title a {
  font-family: var(--font-display) !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--onyx) !important;
  white-space: normal !important;
  text-overflow: unset !important;
  overflow: visible !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  cursor: pointer;
  text-decoration: none !important;
  position: relative;
  z-index: 3;
}

article.elementor-post .elementor-post__title a:hover {
  color: var(--brand-green) !important;
}

/* Kill inline nowrap that kills click affordance */
article.elementor-post .elementor-post__title a[style*="nowrap"] {
  white-space: normal !important;
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  padding: 2rem 0;
}

.pagination a {
  padding: 10px 16px;
  border: 1px solid var(--cream-dark);
  border-radius: var(--r-sm);
  background: var(--white);
  color: var(--charcoal);
  font-size: 0.875rem;
  font-weight: 500;
}

.pagination a:hover,
.pagination .current {
  background: var(--gold);
  color: var(--onyx);
  border-color: var(--gold);
}

/* --- Single product (WooCommerce) — readable + on-brand --- */
body.single-product,
body.woocommerce-page {
  background: var(--cream);
}

.woocommerce .product_title,
h1.product_title {
  font-family: var(--font-display) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 600 !important;
  color: var(--onyx) !important;
  margin-top: 0;
}

.woocommerce-product-gallery,
.woocommerce-product-gallery__wrapper {
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--cream-dark);
  box-shadow: var(--shadow-sm);
}

/* Avoid over-zoomed featured image on single product pages */
.elementor-widget-theme-post-featured-image img,
.elementor-location-single .elementor-widget-image img.attachment-full {
  width: 100% !important;
  max-height: 560px !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: var(--white);
}

.summary.entry-summary,
.product .summary {
  max-width: 52rem;
  padding: 0 0 2rem;
}

.summary .price,
.woocommerce div.product p.price {
  font-family: var(--font-display);
  color: var(--gold-dark) !important;
  font-size: 1.35rem !important;
}

.woocommerce-product-details__short-description,
.woocommerce-Tabs-panel,
.elementor-widget-woocommerce-product-content,
.elementor-widget-theme-post-content,
.elementor-widget-text-editor {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.85;
}

.elementor-widget-text-editor h2,
.elementor-widget-text-editor h3,
.woocommerce-Tabs-panel h2 {
  font-family: var(--font-display);
  color: var(--onyx);
  margin-top: 1.5rem;
}

/* Primary buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.elementor-button {
  font-family: var(--font-body) !important;
  background: var(--gold) !important;
  color: var(--onyx) !important;
  border: 2px solid var(--gold) !important;
  border-radius: var(--r-sm) !important;
  padding: 12px 28px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  transition: transform 0.25s, box-shadow 0.25s, background 0.25s !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.elementor-button:hover {
  background: var(--gold-dark) !important;
  border-color: var(--gold-dark) !important;
  transform: translateY(-2px);
  box-shadow: var(--shadow-gold);
}

/* Footer — match homepage .footer mood */
footer.elementor-location-footer {
  margin-top: 3rem;
  background: var(--onyx-mid) !important;
  color: rgba(255, 255, 255, 0.55) !important;
}

footer.elementor-location-footer .elementor-nav-menu {
  gap: 0.25rem 0.9rem;
}

footer.elementor-location-footer .elementor-nav-menu a,
footer.elementor-location-footer .elementor-item {
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  padding: 4px 2px !important;
  border-radius: 0 !important;
}

footer.elementor-location-footer .elementor-nav-menu a:hover,
footer.elementor-location-footer .elementor-item:hover {
  background: transparent !important;
}

footer.elementor-location-footer a {
  color: rgba(255, 255, 255, 0.5) !important;
}

footer.elementor-location-footer a:hover {
  color: var(--gold-light) !important;
}

footer.elementor-location-footer .elementor-heading-title,
footer.elementor-location-footer .elementor-widget-heading .elementor-heading-title {
  color: var(--white) !important;
  font-family: var(--font-display) !important;
}

.wp-image-35398,
.elementor-widget-image img[alt*="Logo" i] {
  max-height: 52px;
  width: auto;
}

@media (max-width: 1024px) {
  .elementor-nav-menu--layout-horizontal.elementor-nav-menu {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 768px) {
  .elementor-posts.elementor-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* =========================================================
   Kartika-like uniform product/category presentation
   Apply consistently across all mirrored category + product pages
   ========================================================= */

/* Category pages: simple 4-up product range grid */
body.archive.tax-product_cat .elementor-location-archive .e-con-inner,
body.archive.tax-product_cat .elementor-location-archive .e-con-boxed > .e-con-inner {
  max-width: var(--layout-max);
}

body.archive.tax-product_cat .elementor-posts.elementor-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.archive.tax-product_cat article.elementor-post.elementor-grid-item {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: 0 10px 24px rgba(18, 15, 8, 0.08) !important;
  background: transparent !important;
  transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease) !important;
  cursor: pointer;
}

body.archive.tax-product_cat article.elementor-post .elementor-post__thumbnail {
  border-radius: 0 !important;
  aspect-ratio: 1 / 1;
  background: #ddd;
}

body.archive.tax-product_cat article.elementor-post .elementor-post__thumbnail img {
  transform: scale(1) !important;
  transition: transform 0.45s var(--ease) !important;
}

body.archive.tax-product_cat article.elementor-post .elementor-post__text {
  padding: 10px 10px 12px !important;
  background: color-mix(in srgb, var(--surface-soft) 82%, #fff 18%);
  border-top: 1px solid var(--line);
}

body.archive.tax-product_cat article.elementor-post .elementor-post__title,
body.archive.tax-product_cat article.elementor-post .elementor-post__title a {
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: #222 !important;
  transition: color 0.25s var(--ease) !important;
}

body.archive.tax-product_cat article.elementor-post.elementor-grid-item:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 36px rgba(18, 15, 8, 0.14) !important;
}

body.archive.tax-product_cat article.elementor-post.elementor-grid-item:hover .elementor-post__thumbnail img {
  transform: scale(1.06) !important;
}

body.archive.tax-product_cat article.elementor-post.elementor-grid-item:hover .elementor-post__title a {
  color: var(--gold-dark) !important;
}

/* Single product pages: image + spec table split */
body.single-product .elementor-location-single .e-con-inner,
body.single-product .elementor-location-single .e-con-boxed > .e-con-inner {
  max-width: var(--layout-max);
}

body.single-product .elementor-location-single .elementor-element-fbdc09f > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: start;
}

body.single-product .elementor-location-single .elementor-element-fbdc09f {
  margin-top: 18px !important;
}

body.single-product .elementor-location-single .elementor-element-fbdc09f .elementor-element-2241053,
body.single-product .elementor-location-single .elementor-element-fbdc09f .elementor-element-efbbc65 {
  width: 100% !important;
}

body.single-product .elementor-location-single .elementor-element-efbbc65 {
  background: transparent !important;
  align-self: start !important;
}

body.single-product .elementor-widget-theme-post-featured-image img,
body.single-product .elementor-location-single .elementor-widget-image img.attachment-full {
  width: 100% !important;
  max-height: none !important;
  aspect-ratio: 1 / 1;
  object-fit: cover !important;
  border-radius: 0 !important;
}

body.single-product .product-content table,
body.single-product .product-content .table {
  width: 100%;
  border-collapse: collapse;
  background: #efefef;
  margin: 0;
}

body.single-product .product-content th,
body.single-product .product-content td {
  border-bottom: 1px solid #ddd;
  padding: 10px 10px;
  font-size: 0.86rem;
  vertical-align: top;
  color: #2b2b2b;
}

body.single-product .product-content th {
  width: 34%;
  font-weight: 700;
  color: var(--onyx);
}

/* Countertop / alternate template: table specs not wrapped in .product-content */
body.single-product table.table {
  width: 100% !important;
  max-width: none !important;
  border-collapse: collapse !important;
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  margin: 0 !important;
  table-layout: fixed;
}

body.single-product table.table th,
body.single-product table.table td {
  border-bottom: 1px solid var(--line) !important;
  padding: 10px 12px !important;
  font-size: 0.86rem !important;
  line-height: 1.55 !important;
  vertical-align: top !important;
  color: var(--text-strong) !important;
}

body.single-product table.table th {
  width: 34% !important;
  font-weight: 700 !important;
  text-align: left !important;
  color: var(--brand-green-deep) !important;
}

body.single-product table.table td {
  text-align: left !important;
}

/* Keep specs and CTA vertically aligned in right content column */
body.single-product .elementor-location-single .e-con.e-child {
  align-self: start !important;
}

body.single-product .elementor-location-single .elementor-widget-button {
  margin-top: 14px !important;
  width: 100% !important;
}

body.single-product .elementor-location-single .elementor-widget-button .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .elementor-location-single .elementor-widget-button .elementor-button-wrapper {
  display: flex !important;
  justify-content: flex-start !important;
}

/* Center the “Get Quote” CTA under the specs (even when element IDs differ) */
body.single-product
  .elementor-location-single
  .elementor-widget-button:has(a.elementor-button[href*="get-quote-now"]) {
  margin-top: 14px !important;
  width: 100% !important;
  text-align: center !important;
}

body.single-product
  .elementor-location-single
  .elementor-widget-button:has(a.elementor-button[href*="get-quote-now"])
  .elementor-button-wrapper {
  display: flex !important;
  justify-content: center !important;
}

/* Generic single-product hero block (covers countertop templates too) */
body.single-product .elementor-location-single .e-con-boxed.e-parent:has(.elementor-widget-theme-post-featured-image):has(.product-content) > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(340px, 1.05fr) minmax(300px, 0.95fr);
  gap: clamp(18px, 2.6vw, 34px) !important;
  align-items: start !important;
}

body.single-product .elementor-location-single .e-con-boxed.e-parent:has(.elementor-widget-theme-post-featured-image):has(.product-content) > .e-con-inner > .e-con.e-child {
  width: 100% !important;
  min-width: 0 !important;
}

body.single-product .elementor-location-single .e-con.e-child:has(.product-content) {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 12px !important;
}

body.single-product .elementor-location-single .e-con.e-child:has(.product-content) .product-content,
body.single-product .elementor-location-single .e-con.e-child:has(.product-content) .product-content .table {
  width: 100% !important;
  max-width: none !important;
}

/* Prev/Next controls inside product range */
.product-range-nav {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  padding-top: 4px;
}

.product-range-nav__btn {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text-strong);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-size: 1rem;
  transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease), border-color 0.2s var(--ease);
}

.product-range-nav__btn:hover {
  transform: translateY(-1px);
  border-color: var(--gold);
  box-shadow: 0 8px 18px rgba(20, 16, 8, 0.14);
}

.product-range-nav__btn[aria-disabled="true"] {
  opacity: 0.45;
  pointer-events: none;
}

.product-range-nav__label {
  font-size: 0.82rem;
  color: var(--text-soft);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* Place range navigator above the table, right-aligned, outside the border */
body.single-product .elementor-location-single .elementor-widget-container:has(.product-range-nav--static) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

body.single-product .product-content:has(.product-range-nav--static) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

body.single-product .product-range-nav.product-range-nav--static {
  position: static;
  align-self: flex-end;
  justify-content: flex-end;
  margin-top: 0;
  padding-top: 0;
  z-index: auto;
  order: -1;
}

/* Countertop product template: match other product detail typography/layout */
body.single-product .elementor-33277 .elementor-element-c0142c8 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(340px, 1.05fr) minmax(300px, 0.95fr) !important;
  gap: clamp(18px, 2.6vw, 34px) !important;
  align-items: start !important;
}

body.single-product .elementor-33277 .elementor-element-1861af5,
body.single-product .elementor-33277 .elementor-element-67cc217 {
  width: 100% !important;
  min-width: 0 !important;
}

body.single-product .elementor-33277 .elementor-element-67cc217 {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 12px !important;
}

body.single-product .elementor-33277 .product-content,
body.single-product .elementor-33277 .product-content .table {
  width: 100% !important;
  max-width: none !important;
  font-family: var(--font-body) !important;
}

body.single-product .elementor-33277 .product-content th,
body.single-product .elementor-33277 .product-content td {
  font-size: 0.96rem !important;
  line-height: 1.55 !important;
  color: var(--text-strong) !important;
}

body.single-product .elementor-33277 .product-content th {
  font-weight: 700 !important;
  width: 34% !important;
}

body.single-product .elementor-33277 .elementor-element-755026a .elementor-button-wrapper {
  justify-content: flex-start !important;
}

/* Quote button should stay right below the specs (no floating white block) */
body.single-product .elementor-location-single .elementor-element-3c2f551 {
  margin-top: 12px !important;
  align-self: center !important;
  width: 100% !important;
  text-align: center !important;
}

body.single-product .elementor-location-single .elementor-element-3c2f551 .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.single-product .elementor-location-single .elementor-element-3c2f551 .elementor-button-wrapper {
  display: flex !important;
  justify-content: center !important;
}

/* Gallery + description sections should not paint big white backgrounds */
body.single-product .elementor-location-single .elementor-element-ff4beda,
body.single-product .elementor-location-single .elementor-element-ae26ebf {
  background: transparent !important;
}

body.single-product .elementor-location-single .elementor-element-ff4beda .e-con-inner,
body.single-product .elementor-location-single .elementor-element-ae26ebf .e-con-inner {
  max-width: var(--layout-max);
}

/* Product image gallery — single source (replaces per-page inline gallery CSS) */
body.single-product .product-gallery {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
  gap: var(--space-3) !important;
  width: 100%;
}

body.single-product .product-gallery .gallery-item {
  width: 100% !important;
  min-width: 0 !important;
}

body.single-product .product-gallery .gallery-item img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  border-radius: var(--r-md);
  display: block;
}

body.single-product .product-gallery .gallery-item-description {
  text-align: center !important;
  padding: var(--space-2) 0 !important;
  font-size: 0.875rem !important;
  line-height: 1.4 !important;
  color: var(--text-soft) !important;
  font-family: var(--font-body) !important;
}

@media (max-width: 980px) {
  body.archive.tax-product_cat .elementor-posts.elementor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.single-product .elementor-location-single .elementor-element-fbdc09f > .e-con-inner {
    grid-template-columns: 1fr;
  }
  body.single-product .elementor-location-single .e-con-boxed.e-parent:has(.elementor-widget-theme-post-featured-image):has(.product-content) > .e-con-inner {
    grid-template-columns: 1fr !important;
  }
  body.single-product .elementor-33277 .elementor-element-c0142c8 > .e-con-inner {
    grid-template-columns: 1fr !important;
  }
  body.single-product .elementor-location-single .elementor-widget-container:has(.product-range-nav--static) {
    padding-top: 0;
  }
  body.single-product .product-range-nav.product-range-nav--static {
    position: static;
    margin-top: 10px;
    padding-top: 4px;
  }
}

/* =========================================================
   Premium-minimal refinement layer (global final pass)
   ========================================================= */

.section-gap,
.e-con.e-parent {
  padding-top: clamp(26px, 4vw, 46px);
  padding-bottom: clamp(26px, 4vw, 46px);
}

.elementor-location-single .e-con.e-parent:nth-of-type(even),
.elementor-location-archive .e-con.e-parent:nth-of-type(even),
body.page .e-con.e-parent:nth-of-type(even) {
  background: var(--surface-soft) !important;
}

.header {
  border-bottom: 1px solid var(--line);
  background-color: var(--surface) !important;
  background: linear-gradient(to bottom, #fdfcfa 0%, var(--surface) 100%) !important;
}

.header__inner {
  height: 80px;
}

.topbar {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.topbar__left a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.nav__link {
  font-weight: 500;
  letter-spacing: 0.01em;
}

.dropdown {
  border: 1px solid var(--line);
  box-shadow: 0 20px 45px rgba(18, 15, 8, 0.14);
}

.dropdown a {
  color: var(--text-soft);
}

.dropdown a:hover {
  background: #f7f3ec;
  color: var(--text-strong);
}

.btn,
.elementor-button,
.woocommerce a.button,
.woocommerce button.button {
  border-radius: 8px !important;
}

.btn-gold,
.elementor-button {
  background: var(--gold) !important;
  border-color: var(--gold-dark) !important;
  color: var(--onyx) !important;
}

.btn-gold:hover,
.elementor-button:hover {
  background: var(--gold-dark) !important;
  border-color: var(--gold-dark) !important;
  box-shadow: var(--shadow-gold) !important;
}

.footer {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.footer__top {
  gap: clamp(20px, 4vw, 38px);
}

/* Homepage-like subtle entrance animation for content-heavy inner pages */
main .elementor-widget,
main article.elementor-post.elementor-grid-item,
main .tracking-form-wrapper,
main .custom-tracking-form {
  animation: fadeSlideUp 0.55s var(--ease) both;
}
@keyframes fadeSlideUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* Product listing visual cleanup */
body.archive.tax-product_cat article.elementor-post.elementor-grid-item {
  background: var(--surface);
}

body.archive.tax-product_cat article.elementor-post .elementor-post__thumbnail {
  border: 1px solid var(--line);
}

body.archive.tax-product_cat article.elementor-post .elementor-post__title,
body.archive.tax-product_cat article.elementor-post .elementor-post__title a {
  font-size: 0.92rem !important;
  color: #24211b !important;
}

/* Product detail readability */
body.single-product .elementor-location-single .elementor-element-b7868a7 {
  margin-top: 2px;
}

body.single-product .product-content .table {
  background: var(--surface);
  border: 1px solid var(--line);
}

body.single-product .product-content th,
body.single-product .product-content td {
  border-bottom: 1px solid var(--line);
}

body.single-product .elementor-location-single .elementor-element-3c2f551 {
  margin-top: 16px !important;
}

/* get-quote page refinements */
body.page .tracking-form-wrapper {
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 14px 35px rgba(20, 16, 8, 0.08);
}

body.page .tracking-form-wrapper input,
body.page .tracking-form-wrapper textarea {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
}

body.page .tracking-form-wrapper input:focus,
body.page .tracking-form-wrapper textarea:focus {
  border-color: var(--brand-green);
  box-shadow: 0 0 0 3px var(--focus-ring);
  outline: none;
}

/* Accessibility and interaction */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--brand-green);
  outline-offset: 2px;
}

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

@media (max-width: 1024px) {
  .topbar__left {
    gap: 14px;
  }
  .header__inner {
    height: 74px;
    gap: 16px;
  }
  .logo__name {
    font-size: 1.2rem;
  }
}

@media (max-width: 768px) {
  .nav {
    display: none;
  }
  .hamburger {
    display: flex;
  }
  .nav.open {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: fixed;
    top: 84px;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--white);
    padding: var(--pad);
    gap: 4px;
    overflow-y: auto;
    z-index: var(--z-overlay);
  }
  .nav.open .nav__item {
    width: 100%;
  }
  .nav.open .nav__link {
    padding: 13px 16px;
    width: 100%;
    border-radius: var(--r-md);
  }
  .nav.open .dropdown {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: none;
    padding: 0 0 0 20px;
    display: none;
  }
  .nav.open .nav__item.open .dropdown,
  .nav.open .nav__item:hover .dropdown,
  .nav.open .nav__item:focus-within .dropdown {
    display: block;
  }
  /* Keep Get Quote usable inside the mobile drawer */
  .nav__cta {
    display: none;
  }
  .nav.open .nav__cta {
    display: block;
    width: 100%;
    margin-top: 10px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
    margin-left: 0;
  }
  .nav.open .nav__cta .btn {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }
  .topbar__left {
    display: none;
  }
  .topbar__right {
    width: 100%;
    justify-content: center;
  }
  .footer__top {
    grid-template-columns: 1fr;
  }
  .footer__bottom-inner {
    justify-content: center;
    text-align: center;
  }
}

/* =========================================================
   Contact page polish
   ========================================================= */
body.page-id-154 .elementor-element-6b0cf34 {
  min-height: 40vh !important;
}

body.page-id-154 .elementor-element-6b0cf34 .elementor-heading-title {
  letter-spacing: 0.01em;
}

body.page-id-154 .elementor-element-fc8216f,
body.page-id-154 .elementor-element-e1aec34 {
  background: transparent !important;
}

body.page-id-154 .elementor-element-fc8216f > .e-con-inner {
  max-width: var(--layout-max);
  gap: clamp(18px, 3vw, 30px);
}

body.page-id-154 .elementor-element-e1aec34 > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  max-width: var(--layout-max);
  gap: clamp(28px, 4vw, 44px);
  margin-inline: auto;
  padding-top: clamp(12px, 2vw, 20px);
  padding-bottom: clamp(28px, 4vw, 48px);
}

body.page-id-154 .elementor-element-e1aec34 {
  --flex-direction: row !important;
  --gap: clamp(28px, 4vw, 44px) !important;
  --column-gap: clamp(28px, 4vw, 44px) !important;
}

body.page-id-154 .elementor-element-53dbff8,
body.page-id-154 .elementor-element-92b4aa4 {
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: none !important;
  margin-inline: 0 !important;
  align-self: flex-start !important;
}

body.page-id-154 .elementor-element-53dbff8 {
  flex-basis: 58% !important;
}

body.page-id-154 .elementor-element-92b4aa4 {
  flex-basis: 42% !important;
}

body.page-id-154 .elementor-element-2b7a939,
body.page-id-154 .elementor-element-2b7a939 .elementor-widget-container,
body.page-id-154 .elementor-element-0f075ae,
body.page-id-154 .elementor-element-0f075ae .elementor-widget-container {
  width: 100% !important;
}

body.page-id-154 .custom-tracking-form {
  max-width: 100% !important;
  margin: 0 !important;
  background: #fff !important;
  padding: clamp(24px, 3vw, 32px) !important;
  border-radius: 14px !important;
  border: 1px solid var(--cream-dark) !important;
  box-shadow: var(--shadow-sm) !important;
  font-family: var(--font-body) !important;
  text-align: left !important;
  box-sizing: border-box;
  animation: none !important;
  opacity: 1 !important;
}

body.page-id-154 .kns-enquiry-form label {
  text-align: left !important;
}

body.page-id-154 .kns-enquiry-form .form-group {
  margin-bottom: 8px;
}

body.page-id-154 .kns-enquiry-form .form-row {
  gap: clamp(12px, 2vw, 20px);
}

body.page-id-154 .elementor-element-0f075ae .elementor-widget-container {
  background: #fff;
  border: 1px solid var(--cream-dark);
  border-radius: 14px;
  box-shadow: var(--shadow-sm);
  padding: clamp(24px, 3vw, 32px) !important;
  text-align: left;
  box-sizing: border-box;
}

body.page-id-154 .elementor-element-0f075ae h4 {
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 1.8vw, 1.35rem);
  font-weight: 700;
  margin: 0 0 18px;
  padding-bottom: 12px;
  color: var(--onyx);
  border-bottom: 2px solid var(--gold);
}

body.page-id-154 .elementor-element-0f075ae p {
  margin: 0 0 16px;
  line-height: 1.65;
  color: var(--text-strong);
  font-size: 0.95rem;
}

body.page-id-154 .elementor-element-0f075ae p:last-child {
  margin-bottom: 0;
}

body.page-id-154 .elementor-element-0f075ae p strong {
  font-family: var(--font-display);
  font-size: 1.02rem;
  color: var(--gold-dark);
}

body.page-id-154 .elementor-element-0f075ae p a {
  color: var(--gold-dark);
  font-weight: 600;
  text-decoration: none;
}

body.page-id-154 .elementor-element-0f075ae p a:hover {
  color: var(--onyx);
  text-decoration: underline;
}

@media (max-width: 900px) {
  body.page-id-154 .elementor-element-e1aec34 > .e-con-inner {
    flex-direction: column !important;
  }

  body.page-id-154 .elementor-element-53dbff8,
  body.page-id-154 .elementor-element-92b4aa4 {
    flex: 1 1 auto !important;
    width: 100% !important;
  }
}

body.page-id-154 .elementor-element-727b04c > .e-con-inner {
  justify-content: center !important;
  align-items: center !important;
}

body.page-id-154 .elementor-element-eff73b8 {
  width: min(900px, calc(100% - clamp(3rem, 8vw, 5rem))) !important;
  margin-inline: auto;
}

body.page-id-154 .elementor-element-eff73b8 .elementor-widget-container {
  display: flex;
  justify-content: center;
  width: 100%;
}

/* map card */
body.page-id-154 .elementor-widget-google_maps .elementor-custom-embed,
body.page-id-154 .kartika-delivery-map__canvas {
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(20, 17, 11, 0.09);
  background: #fff;
}

body.page-id-154 .elementor-widget-google_maps iframe {
  width: 100% !important;
  min-height: 360px !important;
  border: 0;
}

/* section with MOQ + form + reach us */
body.page-id-154 .elementor-element-53dbff8,
body.page-id-154 .elementor-element-92b4aa4 {
  background: transparent !important;
}

body.page-id-154 .elementor-element-5ffb44a .elementor-heading-title {
  text-align: left !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--text-soft) !important;
  margin: 0 0 10px !important;
}

/* normalize inline-styled legacy form */
body.page-id-154 .custom-tracking-form {
  text-align: left !important;
}

body.page-id-154 .custom-tracking-form input,
body.page-id-154 .custom-tracking-form select,
body.page-id-154 .custom-tracking-form textarea {
  width: 100% !important;
  padding: 12px 14px !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--text-strong) !important;
  margin-bottom: 12px !important;
}

body.page-id-154 .custom-tracking-form input:focus,
body.page-id-154 .custom-tracking-form textarea:focus {
  outline: none !important;
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(185, 138, 61, 0.14) !important;
}

body.page-id-154 .custom-tracking-form button {
  width: 100% !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  color: #171612 !important;
  background: linear-gradient(180deg, #d0a357 0%, #b98a3d 100%) !important;
  box-shadow: 0 8px 18px rgba(185, 138, 61, 0.26);
}

body.page-id-154 .custom-tracking-form button:hover {
  background: linear-gradient(180deg, #b88a3f 0%, #9f742d 100%) !important;
}

/* contact info card */
body.page-id-154 .elementor-element-8b84c02 .elementor-widget-container {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 14px 36px rgba(20, 17, 11, 0.09);
  padding: clamp(18px, 2.5vw, 26px) !important;
}

body.page-id-154 .elementor-element-8b84c02 h4 {
  margin: 0 0 10px;
  font-size: 1.1rem;
}

body.page-id-154 .elementor-element-8b84c02 p {
  margin: 0 0 10px;
  line-height: 1.72;
}

@media (max-width: 900px) {
  body.page-id-154 .elementor-widget-google_maps iframe {
    min-height: 280px !important;
  }
  body.page-id-154 .elementor-element-5ffb44a .elementor-heading-title {
    text-align: center !important;
  }
}

/* Shared enquiry form UI */
.kns-enquiry-form input,
.kns-enquiry-form select,
.kns-enquiry-form textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  font-family: var(--font-body);
  font-size: 0.92rem;
  color: var(--text-strong);
  margin-bottom: 10px;
}

.kns-enquiry-form .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.kns-enquiry-form .form-group {
  margin-bottom: 4px;
}

.kns-enquiry-form label {
  display: block;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--text-strong);
  margin-bottom: 8px;
}

.kns-enquiry-form .form-note {
  font-size: 0.8rem;
  color: var(--text-soft);
  margin-top: 10px;
}

.kns-enquiry-form select {
  appearance: none;
  -webkit-appearance: none;
}

.kns-enquiry-form input:focus,
.kns-enquiry-form select:focus,
.kns-enquiry-form textarea:focus {
  border-color: var(--brand-green);
  box-shadow: 0 0 0 3px var(--focus-ring);
  outline: none;
}

.kns-enquiry-form button[type="submit"] {
  width: 100%;
}

body.page .tracking-form-wrapper .kns-enquiry-form input,
body.page .tracking-form-wrapper .kns-enquiry-form select,
body.page .tracking-form-wrapper .kns-enquiry-form textarea,
body.page-id-154 .kns-enquiry-form input,
body.page-id-154 .kns-enquiry-form select,
body.page-id-154 .kns-enquiry-form textarea {
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
  background: #fff !important;
  padding: 12px 14px !important;
}

body.page .tracking-form-wrapper .kns-enquiry-form button[type="submit"],
body.page-id-154 .kns-enquiry-form button[type="submit"] {
  border-radius: 8px !important;
  background: var(--gold) !important;
  border: 1px solid var(--gold-dark) !important;
  color: var(--onyx) !important;
  font-weight: 600 !important;
}

.kns-form-response {
  display: none;
  border-radius: 10px;
  padding: 12px 14px;
  margin-top: 10px;
  font-size: 0.88rem;
}

.kns-form-response.success {
  display: block;
  background: #e8f5e9;
  border: 1px solid #a5d6a7;
  color: #2e7d32;
}

.kns-form-response.error {
  display: block;
  background: #fdecea;
  border: 1px solid #f5c2c0;
  color: #b42318;
}

@media (max-width: 768px) {
  .kns-enquiry-form .form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

/* =========================================================
   Global typography/spacing standardization (all inner pages)
   ========================================================= */
body,
body .elementor-kit-8,
body .elementor-widget,
body input,
body textarea,
body button {
  font-family: var(--font-body) !important;
}

main .elementor-widget-text-editor .elementor-widget-container,
main .elementor-widget-theme-post-content .elementor-widget-container,
main .elementor-widget-theme-post-excerpt .elementor-widget-container {
  font-size: clamp(0.98rem, 1.05vw, 1.04rem);
  line-height: 1.9;
  color: var(--text-soft);
  letter-spacing: 0.002em;
}

main .elementor-widget-text-editor p,
main .elementor-widget-theme-post-content p,
main .elementor-widget-theme-post-excerpt p {
  margin: 0 0 1.05em;
}

main .elementor-widget-text-editor p:last-child,
main .elementor-widget-theme-post-content p:last-child,
main .elementor-widget-theme-post-excerpt p:last-child {
  margin-bottom: 0;
}

main .elementor-widget-text-editor ul,
main .elementor-widget-theme-post-content ul {
  margin: 0.2em 0 1.15em 1.1em;
  padding: 0;
}

main .elementor-widget-text-editor li,
main .elementor-widget-theme-post-content li {
  margin: 0.42em 0;
  color: var(--text-soft);
}

main .elementor-widget-text-editor h2,
main .elementor-widget-theme-post-content h2,
main .elementor-widget-text-editor h3,
main .elementor-widget-theme-post-content h3,
main .elementor-widget-text-editor h4,
main .elementor-widget-theme-post-content h4 {
  font-family: var(--font-display) !important;
  color: var(--text-strong) !important;
  line-height: 1.26;
  letter-spacing: 0.01em;
  margin: 0 0 0.58em;
}

main .elementor-widget-text-editor h2,
main .elementor-widget-theme-post-content h2 {
  font-size: clamp(1.55rem, 2.25vw, 2rem);
}

main .elementor-widget-text-editor h3,
main .elementor-widget-theme-post-content h3 {
  font-size: clamp(1.25rem, 1.7vw, 1.55rem);
}

main .elementor-widget-text-editor h4,
main .elementor-widget-theme-post-content h4 {
  font-size: clamp(1.05rem, 1.3vw, 1.2rem);
}

/* Give long text blocks breathing room */
main .elementor-widget-text-editor .elementor-widget-container,
main .elementor-widget-theme-post-content .elementor-widget-container {
  padding: clamp(14px, 2vw, 24px) clamp(14px, 2.2vw, 26px);
}

/* Keep visual rhythm of stacked content sections */
main .e-con.e-parent {
  margin-bottom: clamp(10px, 1.4vw, 18px);
}

/* =========================================================
   Product category archives — beat legacy inline listing CSS
   ========================================================= */
body.archive.tax-product_cat main .elementor-post__title,
body.archive.tax-product_cat main .elementor-post__title a {
  font-family: var(--font-display) !important;
  font-size: clamp(0.94rem, 1.05vw, 1.05rem) !important;
  font-weight: 600 !important;
  color: var(--text-strong) !important;
  line-height: 1.35 !important;
}

body.archive.tax-product_cat main .elementor-post__title a:hover {
  color: var(--brand-green) !important;
}

body.archive.tax-product_cat main article.elementor-post {
  margin: 0 !important;
  padding: 0 !important;
}

body.archive.tax-product_cat main article.elementor-post .elementor-post__thumbnail {
  margin: 0 !important;
}

body.archive.tax-product_cat main .pagination a {
  color: var(--charcoal) !important;
  border: 1px solid var(--line) !important;
  background: var(--white) !important;
}

body.archive.tax-product_cat main .pagination a:hover {
  background: var(--gold) !important;
  color: var(--onyx) !important;
  border-color: var(--gold) !important;
}

body.archive.tax-product_cat main .pagination .current {
  background: var(--onyx) !important;
  color: #f7edd8 !important;
  border-color: var(--onyx) !important;
}

/* =========================================================
   Long-form & imported articles
   ========================================================= */
.kartika-prose {
  font-family: var(--font-body);
  color: var(--text-soft);
  line-height: 1.85;
  max-width: min(72ch, 100%);
  overflow-x: auto;
}

.kartika-prose table,
table.content-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  margin: var(--space-4) 0;
  font-family: var(--font-body);
}

.kartika-prose table th,
.kartika-prose table td,
table.content-table th,
table.content-table td {
  border: 1px solid var(--line);
  padding: var(--space-3) var(--space-4);
  text-align: left;
  vertical-align: top;
}

.kartika-prose table th,
table.content-table th {
  background: var(--surface-soft);
  color: var(--text-strong);
  font-weight: 600;
}

/* Blog / resource widgets */
.custom-blog-widget {
  font-family: var(--font-body);
  gap: var(--space-5) !important;
}

.custom-blog-title {
  font-family: var(--font-display) !important;
  color: var(--text-strong) !important;
}

.custom-blog-content {
  color: var(--text-soft) !important;
}

.custom-blog-link {
  color: var(--brand-green) !important;
  font-weight: 600;
}

.custom-blog-link:hover {
  color: var(--gold-dark) !important;
}

/* Elementor kit base text — align with design tokens */
body .elementor-kit-8 {
  color: var(--text-soft);
}

body .elementor-kit-8 h1,
body .elementor-kit-8 h2 {
  font-family: var(--font-display) !important;
  font-weight: 600 !important;
  color: var(--text-strong);
  letter-spacing: 0.01em;
}

/* Page title widget on inner templates */
body .elementor-widget-theme-page-title .elementor-heading-title {
  font-family: var(--font-display) !important;
  font-weight: 600 !important;
}

/* =========================================================
   About Us — standards icons (arrange side by side)
   ========================================================= */
body.page-id-95 .elementor-element-ce86607 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  justify-items: center;
  gap: clamp(14px, 2.2vw, 26px) !important;
  align-items: start;
}

body.page-id-95 .elementor-element-ce86607 .wp-caption {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center;
}

body.page-id-95 .elementor-element-ce86607 img {
  max-width: 189px !important;
  width: 189px !important;
  height: auto !important;
  display: block;
}

/* =========================================================
   About Us — unify boxed white sections
   (Elementor exports can leave slightly different “white” shades)
   ========================================================= */
body.page-id-95 .elementor-element.e-con-boxed {
  background: var(--white) !important;
}

/* =========================================================
   About Us — make “Integrity / Uniqueness / Quality” headers
   look more professional
   ========================================================= */
body.page-id-95 .elementor-element-3e40f69 h4,
body.page-id-95 .elementor-element-33b5b33 h4,
body.page-id-95 .elementor-element-dde8b14 h4 {
  font-family: var(--font-display) !important;
  font-size: clamp(1.1rem, 1.55vw, 1.45rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
  color: var(--text-strong) !important;
  margin: 0 0 10px !important;
}

body.page-id-95 .elementor-element-ce86607 .widget-image-caption {
  margin-top: 10px !important;
  text-align: center !important;
  color: var(--text-soft) !important;
  font-family: var(--font-body) !important;
  font-size: 0.95rem;
  line-height: 1.25;
}

@media (max-width: 1024px) {
  body.page-id-95 .elementor-element-ce86607 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body.page-id-95 .elementor-element-ce86607 {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   Packaging gallery — image cards + captions
   (packaging unit, manufacturing, QC, monuments, etc.)
   ========================================================= */
.custom-popup-widget-wrapper {
  gap: clamp(1rem, 2vw, 1.5rem) clamp(1rem, 2.5vw, 1.75rem) !important;
}

.custom-popup-widget-wrapper .popup-item {
  display: flex;
  flex-direction: column;
  margin: 0 !important;
  background: var(--white);
  border: 1px solid var(--cream-dark);
  border-radius: var(--r-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}

.custom-popup-widget-wrapper .popup-item:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}

.custom-popup-widget-wrapper .popup-item a {
  display: block;
  overflow: hidden;
}

.custom-popup-widget-wrapper .popup-item img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 0.45s var(--ease);
}

.custom-popup-widget-wrapper .popup-item:hover img {
  transform: scale(1.03);
}

.custom-popup-widget-wrapper .packaging-gallery-caption,
.custom-popup-widget-wrapper .fancybox-caption-text {
  margin: 0 !important;
  padding: 14px 16px 16px;
  font-family: var(--font-display);
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  font-weight: 600;
  font-style: normal;
  color: var(--onyx);
  text-align: center;
  line-height: 1.35;
  letter-spacing: 0.01em;
  background: linear-gradient(to bottom, var(--cream), var(--white));
  border-top: 2px solid var(--gold);
}

@media (max-width: 767px) {
  .custom-popup-widget-wrapper {
    grid-template-columns: 1fr !important;
  }
}

/* Inner pages — horizontal breathing room inside white content cards */
body.page main .e-con.e-child .elementor-widget-heading .elementor-widget-container,
body.page main .e-con.e-child .elementor-widget-text-editor .elementor-widget-container,
body.page main .e-con.e-child .elementor-widget-custom_image_trigger_popup .elementor-widget-container,
body.page main .e-con.e-child .elementor-widget-image .elementor-widget-container {
  padding-left: clamp(20px, 3.5vw, 40px);
  padding-right: clamp(20px, 3.5vw, 40px);
  box-sizing: border-box;
}

body.page main .e-con.e-child .elementor-widget-custom_image_trigger_popup .custom-popup-widget-wrapper {
  padding-bottom: clamp(8px, 1.5vw, 16px);
}

body.page main .e-con.e-child .elementor-widget-heading + .elementor-widget-custom_image_trigger_popup .elementor-widget-container {
  padding-top: 0;
}

body.page main .e-con.e-child .elementor-widget-heading:has(+ .elementor-widget-custom_image_trigger_popup) .elementor-widget-container {
  padding-bottom: clamp(12px, 2vw, 20px);
}

/* =========================================================
   Kartika Delivery — interactive map with pinpoints
   ========================================================= */
body.page-id-130 .elementor-element-f38ed03 > .e-con-inner {
  justify-content: center !important;
  align-items: center !important;
}

body.page-id-130 .elementor-element-2d324a7 {
  --flex-direction: column !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  max-width: var(--layout-max);
  margin-inline: auto;
}

body.page-id-130 .elementor-element-2d324a7 > .elementor-widget {
  --container-widget-width: 100% !important;
  flex: 0 0 auto !important;
  width: min(900px, calc(100% - clamp(3rem, 8vw, 5rem))) !important;
  max-width: 100%;
  margin-inline: auto;
}

body.page-id-130 .elementor-element-d788ee8 .elementor-widget-container {
  display: flex;
  justify-content: center;
  width: 100%;
}

body.page-id-130 .elementor-element-44d087a .elementor-widget-container {
  width: 100%;
}

.kartika-delivery-map {
  width: 100%;
  max-width: 100%;
  margin: 0 auto clamp(24px, 4vw, 40px);
}

.kartika-delivery-map__title {
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  font-weight: 700;
  color: var(--onyx);
  text-align: center;
  margin: 0 0 clamp(18px, 3vw, 28px);
  letter-spacing: 0.01em;
}

.kartika-delivery-map__canvas {
  width: 100%;
  height: clamp(360px, 52vw, 480px);
  background: var(--cream-mid);
  border: 1px solid var(--cream-dark);
  border-radius: var(--r-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  z-index: 1;
}

.kartika-delivery-map__locations {
  list-style: none;
  margin: clamp(16px, 2.5vw, 22px) auto 0;
  padding: 0;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(10px, 2vw, 16px);
}

.kartika-delivery-map__locations li {
  margin: 0;
}

.kartika-delivery-map__locations a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 16px;
  background: var(--white);
  border: 1px solid var(--cream-dark);
  border-radius: var(--r-md);
  color: var(--onyx);
  text-decoration: none;
  font-family: var(--font-body);
  font-size: 0.92rem;
  line-height: 1.35;
  text-align: center;
  box-shadow: var(--shadow-sm);
  transition: border-color 0.2s var(--ease), box-shadow 0.2s var(--ease), transform 0.2s var(--ease);
}

.kartika-delivery-map__locations a:hover {
  border-color: var(--gold);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

.kartika-delivery-map__locations a.is-highlight {
  border-color: var(--gold);
  background: var(--gold-pale);
  box-shadow: var(--shadow-md);
}

.kartika-delivery-map__locations strong {
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--gold-dark);
}

.kartika-delivery-map__pin {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  border-radius: 50% 50% 50% 0;
  background: #ea4335;
  transform: rotate(-45deg);
  box-shadow: 0 1px 4px rgba(234, 67, 53, 0.35);
}

.kartika-delivery-map__pin--highlight {
  background: var(--gold);
  box-shadow: 0 1px 6px rgba(200, 147, 60, 0.45);
}

.kartika-map-pin {
  background: transparent;
  border: 0;
}

.kartika-map-pin__dot {
  display: block;
  width: 18px;
  height: 18px;
  margin: 5px;
  background: #ea4335;
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(234, 67, 53, 0.45);
}

.kartika-map-pin__dot--highlight {
  width: 24px;
  height: 24px;
  margin: 6px;
  background: var(--gold);
  border-width: 4px;
  box-shadow: 0 2px 12px rgba(200, 147, 60, 0.55);
}

.kartika-delivery-map__canvas .leaflet-popup-content-wrapper {
  border-radius: 10px;
  font-family: var(--font-body);
  font-size: 0.92rem;
}

.kartika-delivery-map__canvas .leaflet-popup-content a {
  color: var(--gold-dark);
  font-weight: 600;
}

@media (max-width: 900px) {
  .kartika-delivery-map__locations {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   Kartika Delivery — ports table
   ========================================================= */
.kartika-ports-section {
  width: 100%;
  margin-top: clamp(8px, 2vw, 16px);
}

.kartika-ports-section__title {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 700;
  font-style: normal;
  color: var(--onyx);
  text-align: center;
  margin: 0 0 clamp(14px, 2.5vw, 20px);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.kartika-ports-section__table-wrap {
  overflow-x: auto;
  border: 1px solid var(--cream-dark);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-sm);
  background: var(--white);
}

.kartika-ports-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-family: var(--font-body);
  font-size: clamp(1.05rem, 1.55vw, 1.18rem);
}

.kartika-ports-table thead th {
  padding: 10px 16px;
  text-align: left;
  font-family: var(--font-display);
  font-size: clamp(1.12rem, 1.65vw, 1.25rem);
  font-weight: 600;
  font-style: normal;
  color: var(--onyx);
  background: linear-gradient(to bottom, var(--cream), var(--white));
  border-bottom: 2px solid var(--gold);
}

.kartika-ports-table tbody td {
  padding: 10px 16px;
  text-align: left;
  vertical-align: middle;
  line-height: 1.35;
  color: var(--text-strong);
  border-top: 1px solid var(--cream-dark);
  font-size: clamp(1.05rem, 1.55vw, 1.18rem);
}

.kartika-ports-table tbody tr:nth-child(even) td {
  background: var(--cream);
}

.kartika-ports-table tbody tr:hover td {
  background: var(--gold-pale);
}

.kartika-ports-table th:first-child,
.kartika-ports-table td:first-child {
  width: 34%;
  font-family: var(--font-display);
  font-size: clamp(1.08rem, 1.6vw, 1.2rem);
  font-weight: 600;
  color: var(--onyx);
}

.kartika-ports-table th:last-child,
.kartika-ports-table td:last-child {
  width: 66%;
}

@media (max-width: 600px) {
  .kartika-ports-table {
    table-layout: auto;
    min-width: 480px;
  }
}
