/* =====================================================================
   KnottyWedding v74 — global readability, vendor cards, categories,
   dresses, Paper navigation and editor text scale
   ===================================================================== */

:root{
  --v74-font:"Google Sans","Roboto",Arial,sans-serif;
  --v74-ink:#202124;
  --v74-muted:#5f6368;
  --v74-line:#dadce0;
  --v74-purple:#6750c8;
  --v74-purple-dark:#5846b6;
  --v74-soft:#f8f9fa;
}

/* ---------------------------------------------------------------------
   Whole-site readability: headings keep their hierarchy, body/supporting
   text is intentionally larger than the older compact prototype scale.
   --------------------------------------------------------------------- */
body:not(.kw-admin-body){
  font-family:var(--v74-font)!important;
  font-size:15px!important;
  line-height:1.55;
  color:var(--v74-ink);
}
body:not(.kw-admin-body) :where(button,input,select,textarea){font-family:var(--v74-font)!important}
body:not(.kw-admin-body) :where(p){font-size:14px!important;line-height:1.65!important}
body:not(.kw-admin-body) :where(li){font-size:14px;line-height:1.55}
body:not(.kw-admin-body) :where(label){font-size:13px!important;line-height:1.45!important}
body:not(.kw-admin-body) :where(small){font-size:12px!important;line-height:1.45!important}
body:not(.kw-admin-body) :where(input,select,textarea){font-size:13px!important}
body:not(.kw-admin-body) .premium-eyebrow{font-size:11px!important;line-height:1.3!important;letter-spacing:.055em!important}

/* Button consistency. Keep icon-only controls out of this rule. */
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:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:10px 16px!important;
  border-radius:10px!important;
  font-size:13px!important;
  line-height:1.15!important;
  font-weight:600!important;
  text-align:center!important;
  white-space:nowrap;
}
body:not(.kw-admin-body) .kw-button .ui-icon,
body:not(.kw-admin-body) .kw-button .v23-icon{width:17px!important;height:17px!important}

/* ---------------------------------------------------------------------
   Vendor listing cards — screenshot-inspired image overlays
   --------------------------------------------------------------------- */
.horizontal-vendor-card{
  position:relative!important;
  grid-template-columns:230px minmax(0,1fr)!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.horizontal-vendor-card>img{min-height:260px!important}
.horizontal-vendor-content{position:static!important;padding:22px!important;padding-top:22px!important}
.vendor-topline{
  position:absolute!important;
  z-index:4!important;
  top:14px!important;
  left:14px!important;
  width:202px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  pointer-events:none;
}
.vendor-topline .verified-pill,
.vendor-topline .icon-button{pointer-events:auto}
.verified-pill{
  display:inline-flex!important;
  min-height:34px!important;
  align-items:center!important;
  gap:6px!important;
  padding:7px 10px!important;
  border:1px solid rgba(255,255,255,.82)!important;
  border-radius:999px!important;
  color:#0b6f66!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 5px 16px rgba(22,31,29,.10)!important;
  backdrop-filter:blur(8px)!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:650!important;
}
.v74-verified-icon{display:block!important;width:18px!important;height:18px!important;flex:0 0 18px!important;color:#0d8a7c!important}
.vendor-topline .icon-button{
  display:grid!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  padding:0!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.9)!important;
  border-radius:50%!important;
  color:#4b4650!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 7px 20px rgba(28,24,31,.12)!important;
}
.vendor-topline .icon-button:hover{color:#8f365c!important;background:#fff7fa!important;border-color:#efcedb!important}
.vendor-topline .icon-button .ui-icon{width:22px!important;height:22px!important}
.horizontal-vendor-content>small{margin-top:0!important;font-size:12px!important}
.horizontal-vendor-content h3{font-size:24px!important}
.horizontal-vendor-content>p:not(.vendor-rating){font-size:14px!important;line-height:1.6!important}
.vendor-rating{font-size:13px!important}
.vendor-rating strong,.vendor-rating span{font-size:12px!important}
.vendor-card-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin-top:20px!important;
  padding-top:16px!important;
}
.vendor-card-footer>strong{margin-right:auto!important;font-size:14px!important}
.vendor-card-footer>a{
  margin-left:auto!important;
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:9px 14px!important;
  border:1px solid #d7d2dc!important;
  border-radius:9px!important;
  color:#39343d!important;
  background:#fff!important;
  font-size:12.5px!important;
  font-weight:600!important;
  text-decoration:none!important;
}
.vendor-card-footer>a:hover{color:var(--v74-purple)!important;border-color:#c4b9e5!important;background:#faf8ff!important}
.vendor-card-footer .v33-listing-quote{
  min-height:42px!important;
  padding:9px 14px!important;
  border-radius:9px!important;
  font-size:12.5px!important;
  font-weight:600!important;
}

/* Home vendor cards: circular save control as well */
.vendor-card .icon-button,.minimal-vendor-card .icon-button{
  width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
  padding:0!important;border-radius:50%!important;background:#fff!important
}
.vendor-card .icon-button .ui-icon,.minimal-vendor-card .icon-button .ui-icon{width:21px!important;height:21px!important}

/* ---------------------------------------------------------------------
   Vendor categories and venue types
   --------------------------------------------------------------------- */
.v23-directory-heading p{font-size:14px!important}
.v23-directory-heading .kw-button{min-height:46px!important;padding:11px 17px!important;font-size:13px!important}
.v23-category-grid{gap:12px!important}
.v23-category-card{
  grid-template-columns:48px minmax(0,1fr) 18px!important;
  min-height:92px!important;
  gap:13px!important;
  padding:15px!important;
  border-radius:15px!important;
}
.v23-category-icon{width:48px!important;height:48px!important;border-radius:12px!important}
.v23-category-icon .v23-icon{width:22px!important;height:22px!important}
.v23-category-card>span:nth-child(2){gap:4px!important}
.v23-category-card strong{font-size:14px!important;font-weight:650!important}
.v23-category-card small{font-size:12px!important;line-height:1.35!important}
.v23-category-arrow{width:17px!important;height:17px!important}
.v23-venue-types{grid-template-columns:310px minmax(0,1fr)!important;padding:24px!important}
.v23-venue-types-title{grid-template-columns:48px minmax(0,1fr)!important}
.v23-venue-types-title>span{width:48px!important;height:48px!important}
.v23-venue-types-title strong{font-size:15px!important;font-weight:650!important}
.v23-venue-types-title small{font-size:12.5px!important;line-height:1.5!important}
.v23-venue-chip-grid{gap:8px!important}
.v23-venue-chip-grid a{
  min-height:40px!important;
  padding:8px 12px!important;
  font-size:12.5px!important;
  font-weight:600!important;
}

/* ---------------------------------------------------------------------
   Wedding Dress / Inspiration readability and buttons
   --------------------------------------------------------------------- */
.v37-inspiration-dress-card{gap:28px!important;padding:26px 28px!important}
.v37-inspiration-dress-card p{font-size:14px!important;line-height:1.55!important}
.v37-inspiration-dress-card>span{
  display:inline-flex!important;
  min-width:160px!important;
  min-height:46px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:10px 16px!important;
  border:1px solid var(--v74-purple)!important;
  border-radius:10px!important;
  color:#fff!important;
  background:var(--v74-purple)!important;
  font-size:13px!important;
  font-weight:600!important;
}
.v37-inspiration-dress-card:hover>span{background:var(--v74-purple-dark)!important}
.v38-discovery-strip{padding:20px 22px!important}
.v38-discovery-strip>div:first-child{gap:5px!important}
.v38-discovery-strip strong{font-size:14px!important;line-height:1.4!important}
.v38-discovery-strip small{font-size:12.5px!important;line-height:1.5!important}
.v38-discovery-actions{gap:8px!important}
.v38-discovery-actions a{
  min-height:44px!important;
  padding:9px 13px!important;
  border-radius:10px!important;
  font-size:12.5px!important;
  font-weight:600!important;
}
.v37-section-heading p,.v38-section-heading p,.v38-dress-cta p,.v37-dress-cta p{font-size:13.5px!important;line-height:1.6!important}
.v37-designer-card strong{font-size:13px!important}.v37-designer-card small{font-size:11.5px!important}
.v38-card-brand span{font-size:11px!important}.v38-card-brand small{font-size:11px!important}
.v38-dress-card-copy>p{font-size:13px!important;line-height:1.5!important}
.v38-card-meta span{font-size:11px!important;padding:5px 7px!important}
.v38-card-actions a,.v38-card-actions button{min-height:40px!important;font-size:12px!important;font-weight:600!important}
.v46-dress-gallery-toolbar p{font-size:13px!important}
.v46-dress-search input{font-size:13.5px!important}
.v46-dress-grid .v38-card-brand span{font-size:11px!important}.v46-dress-grid .v38-card-brand small{font-size:10.5px!important}
.v46-dress-grid .v38-dress-card-copy>p{font-size:12.5px!important}.v46-dress-grid .v38-card-meta span{font-size:10.5px!important}
.v46-dress-grid .v38-card-actions a,.v46-dress-grid .v38-card-actions button{min-height:38px!important;font-size:11.5px!important}

/* ---------------------------------------------------------------------
   Paper navigation uses the same typography feel as the main navigation
   --------------------------------------------------------------------- */
.v73-paperbar,.v73-paperbar *{font-family:var(--v74-font)!important}
.v73-paper-brand strong,.v73-paper-brand span{font-family:var(--v74-font)!important}
.v73-paper-brand strong{font-size:16px!important;font-weight:600!important}.v73-paper-brand span{font-size:14px!important;font-weight:400!important}
.v73-paper-categories>button{
  min-height:66px!important;
  padding-inline:14px!important;
  font-size:15px!important;
  font-weight:500!important;
  letter-spacing:0!important;
}
.v73-paper-categories>button .v73-menu-caret{width:17px!important;height:17px!important}
.v73-paper-utils>a{min-height:46px!important;padding:7px 12px 7px 8px!important;border-radius:11px!important}
.v73-paper-utils strong{font-size:13px!important;font-weight:500!important}
.v73-util-icon{width:31px!important;height:31px!important;flex-basis:31px!important;background:#f8f9fa!important}
.v73-util-icon svg{width:18px!important;height:18px!important}
.v73-simple-menu>a{min-height:46px!important;font-size:14px!important}
.v73-drop-head strong{font-size:14px!important}.v73-drop-head button{font-size:12px!important}

/* Paper search / filters */
.v69-shop-toolbar{grid-template-columns:minmax(360px,720px) auto auto!important;gap:14px!important}
.v69-shop-search{min-height:58px!important;border-radius:14px!important}
.v69-shop-search input{height:56px!important;font-size:15px!important}
.v73-search-icon svg{width:21px!important;height:21px!important}
.v69-shop-toolbar>[data-paper-result-count]{font-size:13px!important}
.v69-shop-toolbar>select{height:52px!important;font-size:13px!important}
.v69-shop-layout{grid-template-columns:280px minmax(0,1fr)!important;gap:34px!important}
.v69-filter-title{height:54px!important;font-size:14px!important}
.v69-filter-panel label{font-size:13px!important}
.v69-filter-panel input[type=checkbox]{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important}
.v69-filter-panel select{height:43px!important;font-size:13px!important}

/* ---------------------------------------------------------------------
   Personalise editor: no tiny labels/supporting text
   --------------------------------------------------------------------- */
.v71-advanced-editor .v73-editor-shell,
.v71-advanced-editor .v73-editor-shell *{font-family:var(--v74-font)!important}
.v71-advanced-editor .v70-top-left span{font-size:10px!important}.v71-advanced-editor .v70-top-left strong{font-size:15px!important}
.v71-advanced-editor .v70-back{font-size:13px!important}
.v71-advanced-editor .v70-side-switch button{font-size:13px!important}
.v71-advanced-editor .v70-top-actions button{font-size:13px!important}
.v71-advanced-editor .v73-tool-rail button,.v71-advanced-editor .v73-tool-rail button span{font-size:13.5px!important}
.v71-advanced-editor .v70-tool-title>span{font-size:11px!important}
.v71-advanced-editor .v70-tool-title h2{font-size:23px!important}
.v71-advanced-editor .v70-tool-title p{font-size:13.5px!important;line-height:1.55!important}
.v73-field-heading strong{font-size:13px!important}.v73-field-heading span{font-size:11.5px!important}
.v73-background-picker strong{font-size:13px!important}.v73-background-picker small{font-size:11.5px!important}
.v71-advanced-editor .v73-tool-panel>label,
.v71-advanced-editor .v73-tool-panel .v70-prop-grid label,
.v71-advanced-editor .v73-tool-panel .v70-position-grid label,
.v71-advanced-editor .v73-tool-panel .v70-product-options label{font-size:12.5px!important}
.v71-advanced-editor .v73-tool-panel input:not([type=checkbox]):not([type=color]):not([type=range]),
.v71-advanced-editor .v73-tool-panel select,
.v71-advanced-editor .v73-tool-panel textarea{font-size:13.5px!important}
.v71-advanced-editor .v70-design-presets strong{font-size:13.5px!important}.v71-advanced-editor .v70-design-presets small{font-size:11.5px!important}
.v71-advanced-editor .v70-primary-wide,.v71-advanced-editor .v70-secondary-wide{font-size:13px!important}
.v71-advanced-editor .v70-property-head span{font-size:10.5px!important}.v71-advanced-editor .v70-property-head strong{font-size:14px!important}
.v71-advanced-editor .v70-format-buttons button,.v73-align-buttons button{font-size:11.5px!important}
.v71-advanced-editor .v70-shape-grid strong{font-size:13.5px!important}
.v73-qr-style-grid strong{font-size:12.5px!important}
.v71-advanced-editor .v70-layer-select strong{font-size:14px!important}.v71-advanced-editor .v70-layer-select small{font-size:11.5px!important}
.v73-layer-actions button{font-size:11.5px!important}
.v71-advanced-editor .v70-address-actions button,.v71-advanced-editor .v70-address-actions a{font-size:12.5px!important}
.v71-advanced-editor .v70-address-list strong{font-size:14px!important}.v71-advanced-editor .v70-address-list small{font-size:12px!important}
.v71-advanced-editor .v70-recipient-total span{font-size:12.5px!important}
.v73-stage-toolbar button{font-size:11.5px!important}.v71-advanced-editor .v70-zoom span{font-size:11.5px!important}
.v71-advanced-editor .v70-stage-footer,.v71-advanced-editor .v70-stage-footer strong{font-size:11.5px!important}
.v71-advanced-editor .v70-help{font-size:11.5px!important;line-height:1.5!important}

/* ---------------------------------------------------------------------
   Responsive adjustments
   --------------------------------------------------------------------- */
@media(max-width:900px){
  .horizontal-vendor-card{grid-template-columns:1fr!important}
  .horizontal-vendor-card>img{height:280px!important;min-height:280px!important}
  .vendor-topline{width:calc(100% - 28px)!important}
  .v23-venue-types{grid-template-columns:1fr!important}
  .v69-shop-layout{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .v37-inspiration-dress-card{align-items:flex-start!important;flex-direction:column!important}
  .v37-inspiration-dress-card>span{width:100%!important}
  .v38-discovery-actions a{width:100%!important}
}
@media(max-width:560px){
  body:not(.kw-admin-body) :where(p){font-size:13.5px!important}
  body:not(.kw-admin-body) :where(small){font-size:11.5px!important}
  .vendor-card-footer>strong{width:100%!important;margin-right:0!important}
  .vendor-card-footer>a{margin-left:0!important;flex:1 1 calc(50% - 4px)!important}
  .vendor-card-footer .v33-listing-quote{flex:1 1 calc(50% - 4px)!important}
  .v23-category-grid{grid-template-columns:1fr!important}
  .v73-paper-categories>button{font-size:13px!important}
  .v69-shop-toolbar{grid-template-columns:minmax(0,1fr) auto!important}
  .v71-advanced-editor .v73-tool-rail button,.v71-advanced-editor .v73-tool-rail button span{font-size:12.5px!important}
}

/* v74 readability floor for common supporting labels and metadata */
body:not(.kw-admin-body) :where(.premium-eyebrow,.minimal-kicker,.minimal-verified,.tools-card-status){
  font-size:12px!important;
  line-height:1.35!important;
}
body:not(.kw-admin-body) :where([class*="meta"],[class*="stats"],[class*="trust"],[class*="facts"]) :where(span,small){
  font-size:12px!important;
  line-height:1.4!important;
}
body:not(.kw-admin-body) :where(.v37-taxonomy-grid,.v38-taxonomy-grid) button{
  min-height:36px!important;
  padding:7px 9px!important;
  font-size:12px!important;
}
.v38-dress-market-page .v38-discovery-strip small{font-size:12.5px!important;line-height:1.5!important}
.v37-designer-monogram{font-size:12px!important}
.v38-hero-stats small{font-size:11.5px!important}
.v38-contact-card :where(span,small){font-size:11.5px!important}
.v38-contact-card strong{font-size:13px!important}
.v38-detail-breadcrumb{font-size:11.5px!important}
.v38-detail-availability span{font-size:11.5px!important}.v38-detail-availability strong{font-size:12.5px!important}
.v38-more-card span{font-size:10.5px!important}.v38-more-card p{font-size:12px!important}

/* Explicit editor support text requested by the user */
.v71-advanced-editor .v70-upload-panel strong{font-size:14px!important;font-weight:600!important}
.v71-advanced-editor .v70-upload-panel span{font-size:12.5px!important;line-height:1.5!important}
.v71-advanced-editor .v70-upload-panel button{min-height:42px!important;padding:9px 12px!important;font-size:13px!important}
.v71-advanced-editor .v70-empty-panel strong{font-size:14px!important}.v71-advanced-editor .v70-empty-panel span{font-size:12.5px!important;line-height:1.5!important}

/* Keep Paper navigation at the same readable scale as the main menu. */
.v73-paper-categories>button>span{font-size:15px!important;font-weight:500!important}
.v73-paper-utils>a>strong{font-size:13px!important}
@media(max-width:560px){.v73-paper-categories>button>span{font-size:13px!important}}

/* Final v74 text floor: the prototype previously used 7–10px supporting text.
   Keep all non-admin supporting spans readable while preserving deliberate
   larger navigation/editor controls below. */
body:not(.kw-admin-body) span{font-size:12px!important;line-height:1.4}
body:not(.kw-admin-body) footer a{font-size:12px!important;line-height:1.4!important}

/* Preserve deliberately larger controls after the general floor. */
.v37-inspiration-dress-card>span{font-size:13px!important}
.v73-paper-brand strong{font-size:16px!important}.v73-paper-brand>span{font-size:14px!important}
.v73-paper-categories>button>span{font-size:15px!important;line-height:1!important}
.v71-advanced-editor .v73-tool-rail button>span{font-size:13.5px!important}
.v71-advanced-editor .v70-tool-title>span{font-size:11px!important}
.v71-advanced-editor .v70-recipient-total>span{font-size:12.5px!important}
@media(max-width:560px){
  .v73-paper-categories>button>span{font-size:13px!important}
  .v71-advanced-editor .v73-tool-rail button>span{font-size:12.5px!important}
}

/* Editor readability floor — no micro text in the working UI. */
.v71-advanced-editor .v70-tool-title>span{font-size:12px!important}
.v71-advanced-editor .v70-design-presets small{font-size:12.5px!important}
.v71-advanced-editor .v73-field-heading span{font-size:12px!important}
.v71-advanced-editor .v70-layer-select small{font-size:12.5px!important}
.v71-advanced-editor .v70-stage-footer,
.v71-advanced-editor .v70-stage-footer strong{font-size:12px!important}
.v71-advanced-editor .v70-help{font-size:12px!important}

/* Final readable micro-label overrides for older high-specificity modules. */
body:not(.kw-admin-body) [class] .premium-eyebrow,
body:not(.kw-admin-body) [class] .minimal-kicker{font-size:12px!important;line-height:1.35!important}
body:not(.kw-admin-body) [class*="taxonomy"] h3{font-size:15px!important;line-height:1.35!important}
.v38-active-filters em{font-size:12px!important}
