/* ==========================================================================
   The Southern Coastal Cottage: brand colors and fonts for the whole site.
   Kadence reads its colors from these palette variables.
   ========================================================================== */
:root {
  --global-palette1: #2F4F63;   /* buttons and links */
  --global-palette2: #D9785C;   /* button hover */
  --global-palette3: #2F4F63;   /* headings */
  --global-palette4: #3D4A52;   /* body text */
  --global-palette5: #5E5958;
  --global-palette6: #8A8584;
  --global-palette7: #F6E3DC;   /* soft blush panels */
  --global-palette8: #FBF7F4;   /* page background */
  --global-palette9: #FFFFFF;
  --global-heading-font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --global-body-font-family: "Nunito Sans", "Helvetica Neue", Arial, sans-serif;
}
body { font-family: var(--global-body-font-family); }
h1, h2, h3, h4, h5, h6, .entry-title, .site-title, .woocommerce-loop-product__title, .product_title {
  font-family: var(--global-heading-font-family);
  font-weight: 600;
}

/* Rounded, friendly buttons everywhere */
.button, button, input[type="submit"], .wp-block-button__link, .woocommerce a.button, .woocommerce button.button {
  border-radius: 999px;
}

/* Shop and blog cards */
.woocommerce ul.products li.product, .loop-entry {
  border-radius: 16px;
  overflow: hidden;
}
.woocommerce ul.products li.product .price { color: var(--global-palette2); font-weight: 700; }
.loop-entry .entry-title a { color: var(--global-palette3); }
.loop-entry .post-thumbnail { border-radius: 16px 16px 0 0; }

/* ==========================================================================
   Home page (Cottage Home template)
   ========================================================================== */
/* Layout: one soft column like a link-in-bio page; a stack of buttons up top jumps to each offer, then each offer gets its own band. */
.scc {
  --scc-ink: #2F4F63;        /* deep coastal blue for text and buttons */
  --scc-teal: #7FB5B5;
  --scc-coral: #D9785C;
  --scc-blush: #F6E3DC;
  --scc-shell: #FBF7F4;      /* page background */
  --scc-gray: #6E6968;       /* warm gray for small text */
  --scc-line: #E6DCD7;
  --scc-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --scc-script: "Mrs Saint Delafield", "Brush Script MT", cursive;
  --scc-body: "Nunito Sans", "Helvetica Neue", Arial, sans-serif;
  background: var(--scc-shell);
  color: var(--scc-ink);
  font-family: var(--scc-body);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
.scc *, .scc *::before, .scc *::after { box-sizing: border-box; }
.scc a { color: inherit; }
.scc img { display: block; max-width: 100%; height: auto; }
.scc p, .scc h1, .scc h2, .scc h3, .scc ul, .scc ol { margin: 0; padding: 0; }
.scc-wrap {
  max-width: 680px;
  margin: 0 auto;
  padding-left: max(18px, env(safe-area-inset-left, 0px));
  padding-right: max(18px, env(safe-area-inset-right, 0px));
}
.scc-band { padding-block: 56px; }
.scc-band + .scc-band { border-top: 1px solid var(--scc-line); }
.scc-band.is-blush { background: var(--scc-blush); border-top: 0; }
.scc-band.is-blush + .scc-band { border-top: 0; }

/* Header */
.scc-top { padding-block: 44px 36px; text-align: center; }
.scc-photo {
  width: 132px; height: 132px; margin: 0 auto 18px;
  border-radius: 50%; overflow: hidden;
  border: 4px solid #fff; box-shadow: 0 0 0 2px var(--scc-teal);
}
.scc-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.scc-logo { display: flex; flex-direction: column; align-items: center; line-height: 1; }
.scc-logo .the { font-family: var(--scc-script); font-size: 46px; color: var(--scc-coral); margin-bottom: -10px; }
.scc-logo .name { font-family: var(--scc-display); font-weight: 600; font-size: clamp(26px, 6vw, 34px); letter-spacing: .16em; text-transform: uppercase; color: var(--scc-gray); }
.scc-logo .name + .name { font-size: clamp(30px, 7vw, 40px); letter-spacing: .3em; margin-right: -.3em; }
.scc-who { margin-top: 18px; font-weight: 600; }
.scc-where { color: var(--scc-gray); font-size: 15px; }

/* Link stack */
.scc-links { display: grid; gap: 12px; margin-top: 28px; text-align: left; }
.scc-link {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 15px 20px; border-radius: 14px;
  background: #fff; border: 1.5px solid var(--scc-line);
  text-decoration: none; font-weight: 700; color: var(--scc-ink);
  transition: border-color .15s, transform .15s;
}
.scc-link small { display: block; font-weight: 400; font-size: 14px; color: var(--scc-gray); }
.scc-link::after { content: "\2192"; color: var(--scc-coral); font-size: 20px; flex: none; }
.scc-link:hover { border-color: var(--scc-teal); transform: translateY(-1px); }
.scc-link.is-main { background: var(--scc-ink); border-color: var(--scc-ink); color: #fff; }
.scc-link.is-main small { color: #D7E6EC; }
.scc-link.is-main::after { color: var(--scc-blush); }

/* Section type */
.scc-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--scc-coral); }
.scc h2 { font-family: var(--scc-display); font-weight: 600; font-size: clamp(32px, 7vw, 42px); line-height: 1.1; margin-top: 6px; text-wrap: balance; color: var(--scc-ink); }
.scc h3 { font-family: var(--scc-display); font-weight: 600; font-size: 25px; line-height: 1.2; color: var(--scc-ink); }
.scc-lede { margin-top: 12px; max-width: 34em; }
.scc-stack { display: grid; gap: 22px; }

/* Price list */
.scc-prices { list-style: none; border-top: 1px solid var(--scc-line); }
.scc-prices li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--scc-line); }
.scc-prices .size { font-weight: 600; }
.scc-prices .size small { display: block; font-weight: 400; font-size: 14px; color: var(--scc-gray); }
.scc-prices .price { font-family: var(--scc-display); font-size: 28px; font-weight: 600; font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; }
.scc-note { font-size: 15px; color: var(--scc-gray); }

.scc-hero { border-radius: 18px; overflow: hidden; aspect-ratio: 4 / 3; max-width: 100%; }
.scc-hero img { width: 100%; height: 100%; object-fit: cover; }

/* Steps */
.scc-steps { list-style: none; display: grid; gap: 14px; counter-reset: s; }
.scc-steps li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: start; counter-increment: s; }
.scc-steps li::before {
  content: counter(s); width: 34px; height: 34px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--scc-teal); color: #fff; font-weight: 700; font-size: 15px;
}
.scc-steps b { display: block; }

/* Offer cards (consults, towns) */
.scc-cards { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.scc-card { background: #fff; border-radius: 16px; padding: 22px; display: grid; gap: 10px; align-content: start; min-width: 0; }
.scc-band.is-blush .scc-card { background: var(--scc-shell); }
.scc-card .tag { font-variant-numeric: lining-nums; font-family: var(--scc-display); font-size: 26px; font-weight: 600; color: var(--scc-coral); }
.scc-card ul { list-style: none; display: grid; gap: 6px; font-size: 15px; }
.scc-card ul li { padding-left: 18px; position: relative; }
.scc-card ul li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--scc-teal); }
.scc-card .drive { font-size: 14px; color: var(--scc-gray); }

/* Buttons */
.scc-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.scc-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 13px 22px; border-radius: 999px; min-height: 48px;
  background: var(--scc-coral); color: #fff !important; text-decoration: none !important;
  font-weight: 700; font-size: 16px; border: 2px solid var(--scc-coral);
}
.scc-btn.is-quiet { background: transparent; color: var(--scc-ink) !important; border-color: var(--scc-ink); }
.scc-btn:hover { filter: brightness(.95); }
.scc a:focus-visible { outline: 3px solid var(--scc-teal); outline-offset: 3px; }

/* Freebie */
.scc-free { background: var(--scc-ink); color: #fff; border-radius: 20px; padding: 28px; display: grid; gap: 12px; }
.scc-free h2 { color: #fff; }
.scc-free .scc-eyebrow { color: var(--scc-blush); }
.scc-free .word { font-family: var(--scc-display); font-size: 30px; letter-spacing: .12em; color: var(--scc-blush); }

/* Footer */
.scc-foot { padding-block: 44px 56px; text-align: center; font-size: 15px; color: var(--scc-gray); display: grid; gap: 6px; }
.scc-foot a { text-decoration: none; color: var(--scc-ink); font-weight: 600; }
.scc-foot .legal { margin-top: 14px; font-size: 13px; max-width: 34em; margin-inline: auto; }

@media (prefers-reduced-motion: reduce) { .scc-link { transition: none; } .scc-link:hover { transform: none; } }

/* ==========================================================================
   Shop page extras: Amazon Picks and Instagram strip
   ========================================================================== */
.scc-shop-extras {
  background: transparent;
  display: grid;
  gap: 56px;
  margin-top: 56px;
  padding-top: 40px;
  border-top: 1px solid var(--scc-line);
}
.scc-picks, .scc-ig { display: grid; gap: 22px; }
.scc-picks-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
.scc-pick {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.scc-pick-img { aspect-ratio: 1 / 1; max-width: 100%; background: #fff; padding: 14px; }
.scc-pick-img img { width: 100%; height: 100%; object-fit: contain; }
.scc-pick-body { padding: 4px 18px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.scc-pick-body h3 { font-size: 21px; }
.scc-pick-body p { font-size: 15px; color: var(--scc-gray); }
.scc-pick-body .scc-btn { margin-top: auto; align-self: flex-start; padding: 10px 18px; min-height: 42px; font-size: 15px; }
.scc-disclosure { font-size: 13px; color: var(--scc-gray); }
.scc-ig-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 14px; }
.scc-ig-head h2 { font-size: clamp(26px, 5vw, 34px); word-break: break-word; }
.scc-admin-note {
  padding: 14px 18px;
  border: 1.5px dashed var(--scc-coral);
  border-radius: 12px;
  background: #fff;
  font-size: 15px;
}

/* ==========================================================================
   Kit email sign-up
   ========================================================================== */
.scc-signup { background: var(--scc-blush); border-radius: 20px; padding: 28px; margin-block: 32px; }
.scc-signup-inner { display: grid; gap: 10px; max-width: 560px; }
.scc-signup h2 { font-size: clamp(28px, 6vw, 36px); }
.scc-signup .formkit-form { max-width: 100% !important; margin-top: 8px; }
.scc-letters-script { font-family: var(--scc-script); font-weight: 400; font-size: 1.5em; color: var(--scc-coral); line-height: .8; margin-right: .1em; }

/* ==========================================================================
   Site header and footer (every page)
   ========================================================================== */
.scc-site-header {
  position: sticky; top: 0; z-index: 50;
  background: #fff; border-bottom: 1px solid #E6DCD7;
  font-family: "Nunito Sans", "Helvetica Neue", Arial, sans-serif;
}
.admin-bar .scc-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .scc-site-header { top: 0; position: relative; } }
.scc-site-header-in {
  max-width: 1100px; margin: 0 auto;
  padding-block: 12px;
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px;
}
.scc-site-logo {
  font-family: "Cormorant Garamond", Georgia, serif; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: #6E6968 !important;
  font-size: 17px; text-decoration: none !important;
}
.scc-site-logo i {
  font-family: "Mrs Saint Delafield", "Brush Script MT", cursive; font-style: normal;
  color: #D9785C; text-transform: none; letter-spacing: 0; font-size: 28px; margin-right: 8px;
}
.scc-site-menu { display: flex; flex-wrap: wrap; gap: 4px; list-style: none; margin: 0; padding: 0; }
.scc-site-menu a {
  display: block; padding: 8px 14px; border-radius: 999px;
  text-decoration: none !important; color: #2F4F63 !important; font-weight: 700; font-size: 15px;
}
.scc-site-menu a:hover { background: #F6E3DC; }
.scc-site-menu .current-menu-item > a,
.scc-site-menu .current_page_item > a,
.scc-site-menu .current_page_parent > a { background: #2F4F63; color: #fff !important; }
.scc-site-menu a:focus-visible, .scc-site-logo:focus-visible { outline: 3px solid #7FB5B5; outline-offset: 2px; }
.scc-foot { border-top: 1px solid #E6DCD7; }

/* ==========================================================================
   Shop and Blog page layouts
   ========================================================================== */
.scc .scc-wide { max-width: 1100px; }
.scc .scc-page-title { font-family: var(--scc-display); font-weight: 600; font-size: clamp(32px, 6vw, 46px); line-height: 1.1; margin: 6px 0 0; text-wrap: balance; color: var(--scc-ink); }
.scc-products { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.scc-prod, .scc-post { background: #fff; border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; min-width: 0; }
.scc-prod-img, .scc-post-img { display: block; background: var(--scc-blush); max-width: 100%; }
.scc-prod-img { aspect-ratio: 1 / 1; }
.scc-post-img { aspect-ratio: 16 / 10; }
.scc-prod-img img, .scc-post-img img { width: 100%; height: 100%; object-fit: cover; }
.scc-prod-body, .scc-post-body { padding: 16px 20px 22px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.scc .scc-prod-title, .scc .scc-post-title { font-family: var(--scc-display); font-weight: 600; font-size: 24px; line-height: 1.2; margin: 0; }
.scc .scc-prod-title a, .scc .scc-post-title a { text-decoration: none; color: var(--scc-ink); }
.scc-prod-price { color: var(--scc-coral); font-weight: 700; }
.scc-prod-body .button, .scc-prod-body .added_to_cart {
  align-self: flex-start; margin-top: auto;
  display: inline-flex; align-items: center; min-height: 42px; padding: 10px 18px;
  border-radius: 999px; background: var(--scc-ink); color: #fff !important;
  font-weight: 700; font-size: 15px; text-decoration: none !important; border: 0;
}
.scc-posts { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.scc-post-cat { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--scc-coral); }
.scc-post-date { font-size: 14px; color: var(--scc-gray); }
.scc-post-body p:not([class]) { font-size: 15px; color: var(--scc-gray); }
.scc-post-more { margin-top: auto; font-weight: 700; color: var(--scc-ink); }
.scc-pager .nav-links, .scc-pager ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0; }
.scc-pager a, .scc-pager span { display: inline-block; padding: 8px 14px; border-radius: 999px; background: #fff; text-decoration: none; color: var(--scc-ink); font-weight: 700; }
.scc-pager .current { background: var(--scc-ink); color: #fff; }
.scc-shop-extras { margin-top: 24px; }
