
/* =====================================================================
   KnottyWedding v75 — professional marketplace typography + alignment
   Rebalances v74's oversized supporting text while preserving readability.
   ===================================================================== */

:root{
  --v75-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --v75-ink:#2f2a31;
  --v75-muted:#726b75;
  --v75-line:#e4dfe7;
  --v75-purple:#6750c8;
}

/* Public-site typography: clean wedding marketplace scale */
body:not(.kw-admin-body){
  font-family:var(--v75-font)!important;
  font-size:14px!important;
  line-height:1.5!important;
  color:var(--v75-ink)!important;
  letter-spacing:0!important;
}
body:not(.kw-admin-body) :where(button,input,select,textarea){
  font-family:var(--v75-font)!important;
}
body:not(.kw-admin-body) :where(p){
  font-size:13.5px!important;
  line-height:1.6!important;
}
body:not(.kw-admin-body) :where(li){
  font-size:13.5px!important;
  line-height:1.5!important;
}
body:not(.kw-admin-body) :where(label){
  font-size:12.5px!important;
  line-height:1.4!important;
}
body:not(.kw-admin-body) :where(small){
  font-size:11px!important;
  line-height:1.4!important;
}
body:not(.kw-admin-body) :where(input,select,textarea){
  font-size:12.5px!important;
}
body:not(.kw-admin-body) .premium-eyebrow{
  font-size:10px!important;
  line-height:1.2!important;
  letter-spacing:.065em!important;
  font-weight:700!important;
}
body:not(.kw-admin-body) main h1{
  font-family:var(--v75-font)!important;
  font-size:clamp(2rem,4vw,3.25rem)!important;
  line-height:1.08!important;
  font-weight:650!important;
  letter-spacing:-.035em!important;
}
body:not(.kw-admin-body) main h2{
  font-family:var(--v75-font)!important;
  font-size:clamp(1.45rem,2.8vw,2.2rem)!important;
  line-height:1.15!important;
  font-weight:650!important;
  letter-spacing:-.025em!important;
}
body:not(.kw-admin-body) main h3{
  font-family:var(--v75-font)!important;
  line-height:1.2!important;
  font-weight:650!important;
  letter-spacing:-.015em!important;
}

/* Keep public buttons compact and consistent. */
body:not(.kw-admin-body) :where(
  .kw-button,.business-btn,.footer-primary-action,.footer-secondary-action,
  .minimal-primary-link,.minimal-primary-btn,.minimal-light-btn,.minimal-outline-btn,
  .auth-submit,.submit-btn,.pro-search-btn,.header-cta,.kw-action-primary,.kw-action-secondary,
  .v38-discovery-actions a,.v46-contact-designer-btn
){
  min-height:42px!important;
  padding:9px 14px!important;
  border-radius:9px!important;
  font-size:12.5px!important;
  font-weight:600!important;
}

/* Header: same professional scale throughout. */
@media(min-width:1100px){
  [data-site-header] .v17-desktop-nav>a{
    font-family:var(--v75-font)!important;
    font-size:14px!important;
    font-weight:550!important;
    letter-spacing:0!important;
  }
  [data-site-header] .v17-signin{
    font-family:var(--v75-font)!important;
    font-size:14px!important;
    font-weight:550!important;
  }
  [data-site-header] .v17-business-cta{
    min-height:40px!important;
    padding:9px 16px!important;
    font-size:13px!important;
  }
}

/* ---------------------------------------------------------------------
   Destination results: aligned, calmer hero
   --------------------------------------------------------------------- */
.v43-results-page .v39-results-hero{
  padding:30px 0 26px!important;
  border-bottom:1px solid var(--v75-line)!important;
  background:#fff!important;
}
.v43-results-page .v39-results-hero>.shell{
  width:min(1180px,calc(100% - 36px))!important;
  margin:0 auto!important;
}
.v43-results-page .v39-results-breadcrumb{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0 0 18px!important;
  color:#8a838c!important;
  font-size:11.5px!important;
  line-height:1.3!important;
}
.v43-results-page .v39-results-breadcrumb a,
.v43-results-page .v39-results-breadcrumb strong,
.v43-results-page .v39-results-breadcrumb span{
  font-size:11.5px!important;
  line-height:1.3!important;
}
.v43-results-page .v39-results-breadcrumb a{
  color:#6c6570!important;
  text-decoration:none!important;
}
.v43-results-page .v39-results-breadcrumb strong{
  color:#3c3740!important;
  font-weight:600!important;
}
.v43-results-page .v39-results-breadcrumb>span{
  color:#b0a9b3!important;
}
.v43-results-page .v39-results-title-row{
  display:block!important;
  margin:0!important;
  max-width:760px!important;
}
.v43-results-page .v39-results-title-row>div:first-child{
  max-width:760px!important;
}
.v43-results-page .v39-results-title-row .premium-eyebrow{
  display:block!important;
  margin:0 0 8px!important;
  color:#6f5bd3!important;
}
.v43-results-page .v39-results-title-row h1{
  margin:0 0 10px!important;
  font-size:clamp(2.1rem,4vw,3.15rem)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
.v43-results-page .v39-results-title-row p{
  max-width:690px!important;
  margin:0!important;
  color:#756e78!important;
  font-size:13.5px!important;
  line-height:1.62!important;
}

/* Destination result filters/toolbars: remove micro text without oversizing. */
.v43-results-page .v40-filter-summary .premium-eyebrow,
.v43-results-page .v39-filter-head small,
.v43-results-page .v39-results-toolbar small,
.v43-results-page .v39-result-card small{
  font-size:10.5px!important;
}
.v43-results-page .v39-filter-head strong,
.v43-results-page .v39-results-filters summary{
  font-size:12.5px!important;
}
.v43-results-page .v39-filter-options label,
.v43-results-page .v39-filter-select select{
  font-size:12px!important;
}
.v43-results-page .v39-result-title h3{
  font-size:20px!important;
}
.v43-results-page .v39-result-card p{
  font-size:13px!important;
}

/* Vendor card text scale: retain v74 geometry, reduce oversized copy. */
.horizontal-vendor-content h3{font-size:21px!important}
.horizontal-vendor-content>p:not(.vendor-rating){font-size:13px!important;line-height:1.55!important}
.horizontal-vendor-content>small{font-size:11px!important}
.vendor-rating{font-size:12px!important}
.vendor-rating strong,.vendor-rating span{font-size:11.5px!important}
.vendor-card-footer>strong{font-size:13px!important}
.vendor-card-footer>a,
.vendor-card-footer .v33-listing-quote{font-size:12px!important}

/* Vendor category cards and venue type chips. */
.v23-directory-heading p{font-size:13px!important}
.v23-category-card strong{font-size:13px!important}
.v23-category-card small{font-size:11px!important}
.v23-venue-types-title strong{font-size:14px!important}
.v23-venue-types-title small{font-size:11.5px!important}
.v23-venue-chip-grid a{font-size:11.5px!important}

/* Wedding dress marketplace copy/buttons. */
.v37-inspiration-dress-card p,
.v38-discovery-strip p,
.v38-dress-copy p{
  font-size:13px!important;
  line-height:1.55!important;
}
.v38-discovery-strip strong{font-size:13px!important}
.v38-discovery-strip small{font-size:11px!important}
.v38-discovery-actions a{font-size:12px!important}

/* Paper navigation: match main header typography, not oversized. */
.v73-paper-brand strong{font-family:var(--v75-font)!important;font-size:15px!important;font-weight:650!important}
.v73-paper-brand span{font-family:var(--v75-font)!important;font-size:12px!important}
.v73-paper-categories>button{
  font-family:var(--v75-font)!important;
  font-size:14px!important;
  font-weight:550!important;
}
.v73-paper-utils strong{font-size:11.5px!important}
.v73-simple-menu>a{font-size:12.5px!important}
.v73-drop-head strong{font-size:12.5px!important}
.v69-shop-search input{font-family:var(--v75-font)!important;font-size:13px!important}
.v69-filter-title{font-size:12.5px!important}
.v69-filter-panel label{font-size:12px!important}
.v69-product-copy h3{font-size:15px!important}
.v69-product-copy small{font-size:10.5px!important}

/* Personalise editor: readable but compact, no tiny microcopy. */
.v71-advanced-editor,
.v71-advanced-editor button,
.v71-advanced-editor input,
.v71-advanced-editor select,
.v71-advanced-editor textarea{
  font-family:var(--v75-font)!important;
}
.v71-advanced-editor .v73-tool-rail button span{font-size:12px!important}
.v71-advanced-editor .v70-tool-title h2{font-size:20px!important}
.v71-advanced-editor .v70-tool-title p{font-size:12px!important;line-height:1.45!important}
.v71-advanced-editor .v70-tool-title>span{font-size:9.5px!important}
.v71-advanced-editor .v70-design-presets strong{font-size:11.5px!important}
.v71-advanced-editor .v70-design-presets small{font-size:10.5px!important}
.v71-advanced-editor .v70-upload-panel strong{font-size:12px!important}
.v71-advanced-editor .v70-upload-panel span{font-size:10.5px!important}
.v71-advanced-editor .v70-layer-select strong{font-size:12.5px!important}
.v71-advanced-editor .v70-layer-select small{font-size:10px!important}
.v71-advanced-editor .v70-address-list strong{font-size:12px!important}
.v71-advanced-editor .v70-address-list small{font-size:10.5px!important}

/* Footer/meta details: compact, not microscopic. */
footer,.premium-footer{font-size:12px!important}
footer a,.premium-footer a{font-size:12px!important}
[class*="breadcrumb"]{font-size:11.5px!important}

/* Mobile rebalancing */
@media(max-width:820px){
  body:not(.kw-admin-body){font-size:13.5px!important}
  body:not(.kw-admin-body) :where(p,li){font-size:13px!important}
  body:not(.kw-admin-body) :where(small){font-size:10.5px!important}
  body:not(.kw-admin-body) main h1{font-size:clamp(1.8rem,8vw,2.5rem)!important}
  body:not(.kw-admin-body) main h2{font-size:clamp(1.35rem,6vw,1.9rem)!important}

  .v43-results-page .v39-results-hero{padding:24px 0 22px!important}
  .v43-results-page .v39-results-hero>.shell{width:min(100% - 28px,1180px)!important}
  .v43-results-page .v39-results-breadcrumb{
    gap:6px!important;
    margin-bottom:14px!important;
    font-size:10.5px!important;
  }
  .v43-results-page .v39-results-breadcrumb a,
  .v43-results-page .v39-results-breadcrumb strong,
  .v43-results-page .v39-results-breadcrumb span{font-size:10.5px!important}
  .v43-results-page .v39-results-title-row h1{font-size:clamp(1.9rem,9vw,2.5rem)!important}
  .v43-results-page .v39-results-title-row p{font-size:13px!important}
  .v73-paper-categories>button{font-size:12.5px!important}
}


/* Final font-family override for legacy direct element rules from earlier builds. */
body:not(.kw-admin-body) :where(
  h1,h2,h3,h4,h5,h6,p,a,span,small,strong,b,em,label,li,
  button,input,select,textarea
){
  font-family:var(--v75-font)!important;
}

/* Keep the destination-results hierarchy compact and marketplace-like. */
.v43-results-page .v39-results-title-row .premium-eyebrow{
  font-size:10px!important;
}
.v43-results-page .v39-results-title-row h1{
  font-size:clamp(2rem,3.55vw,2.85rem)!important;
}
@media(max-width:820px){
  .v43-results-page .v39-results-title-row .premium-eyebrow{font-size:9.5px!important}
  .v43-results-page .v39-results-title-row h1{font-size:clamp(1.8rem,8vw,2.2rem)!important}
}

body:not(.kw-admin-body) .v43-results-page .v39-results-title-row .premium-eyebrow{
  font-size:10px!important;
}
@media(max-width:820px){
  body:not(.kw-admin-body) .v43-results-page .v39-results-title-row .premium-eyebrow{font-size:9.5px!important}
}


/* =====================================================================
   v76 inline-heading text consistency
   Earlier global span sizing could shrink dynamic location/product words
   inside headings (e.g. "Spain wedding vendors"). All inline heading text
   now inherits the exact heading typography everywhere on the public site.
   ===================================================================== */
body:not(.kw-admin-body) :is(h1,h2,h3,h4,h5,h6) > span,
body:not(.kw-admin-body) :is(h1,h2,h3,h4,h5,h6) span:not([class*="badge"]):not([class*="icon"]){
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:inherit!important;
  letter-spacing:inherit!important;
  text-transform:inherit!important;
}

/* Explicit destination-results safeguard for dynamic city/country names. */
.v43-results-page .v39-results-title-row h1 [data-destination-name]{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:inherit!important;
  letter-spacing:inherit!important;
  color:inherit!important;
  vertical-align:baseline!important;
}
