/* Shared Kalimera UI rhythm.  This file is intentionally scoped away from
   the admin console so the public site, profile, deals, and legal screens use
   one readable control language without changing admin-specific styling. */
:root{
  --ui-ink:#163547;
  --ui-muted:#55707d;
  --ui-field-bg:#fffdf9;
  --ui-field-border:rgba(43,110,143,.32);
  --ui-field-height:46px;
}
main:not(.admin-page){
  color:var(--ui-ink);
  font-family:Assistant,Arial,sans-serif;
}
main:not(.admin-page) :where(.section-heading h2,.menu-title-anchor){
  color:var(--ui-ink);
  font-family:Rubik,Assistant,Arial,sans-serif;
  font-size:clamp(1.65rem,3.1vw,2.65rem);
  line-height:1.08;
  letter-spacing:-.045em;
}
main:not(.admin-page) :where(.section-heading-stacked .hub-intro,.section-heading>p,.section-intro){
  color:var(--ui-muted);
  font-size:clamp(.95rem,1.45vw,1.1rem);
  line-height:1.48;
}
main:not(.admin-page) :where(label,.name-field>span,.profile-field-summary-label,.profile-preferences-title){
  color:var(--ui-ink);
  font-family:Assistant,Arial,sans-serif;
  font-size:15px;
  font-weight:800;
  line-height:1.3;
}
main:not(.admin-page) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),select,textarea),
.profile-login-dialog :where(input,select,textarea),
.account-name-required-dialog :where(input,select,textarea){
  box-sizing:border-box;
  min-height:var(--ui-field-height);
  border:1px solid var(--ui-field-border);
  border-radius:9px;
  background:var(--ui-field-bg);
  color:var(--ui-ink)!important;
  font:600 16px/1.3 Assistant,Arial,sans-serif;
}
main:not(.admin-page) :where(input,select,textarea)::placeholder,
.profile-login-dialog :where(input,select,textarea)::placeholder,
.account-name-required-dialog :where(input,select,textarea)::placeholder{color:#6e8389;opacity:1}
main:not(.admin-page) :where(input,select,textarea):focus-visible,
.profile-login-dialog :where(input,select,textarea):focus-visible,
.account-name-required-dialog :where(input,select,textarea):focus-visible{
  border-color:#2b6e8f;
  outline:3px solid rgba(239,170,90,.3);
  outline-offset:1px;
}
main:not(.admin-page) :where(button,.profile-primary-button,.profile-secondary-button,.profile-danger-button){
  font-family:Assistant,Arial,sans-serif;
  font-size:15px;
  line-height:1.2;
}
main:not(.admin-page) :where(.section-wrap,.upload-section>.upload-layout){
  min-width:0;
}
html,body{overflow-x:clip}
main:not(.admin-page) :where(.today,.today-gallery,.featured-loader,.today-coffee,.upload-layout,.gallery-grid){
  min-width:0;
  max-width:100%;
}
.taste-section .section-heading h2,
.taste-section .section-heading-stacked .hub-intro,
.guide-card h3,.guide-card p,.guide-card li,
.lightbox h1,.lightbox h2,.lightbox h3,.lightbox h4{color:#fffdf9}
.account-name-required-logo{display:block;width:74px;height:74px;margin:0 auto 14px;object-fit:contain}
@media(max-width:700px){
  .site-header{min-width:0;gap:6px;padding-inline:10px!important;overflow:visible}
  /* The menu toggle, deals shortcut, and account actions are fixed-width
     controls. Let the wordmark take the remaining space instead of being
     squeezed against the viewport edge on narrow RTL screens. */
  .site-header .brand{min-width:0;width:0;flex:1 1 0;overflow:hidden}
  .site-header .brand>strong{min-width:0;overflow:hidden}
  .site-header>.menu-toggle,.site-header>.deals-header-link{flex:0 0 auto}
  .site-header .header-actions{flex:0 0 auto;margin-right:0!important;gap:5px}
  .site-header .notifications-link{width:40px;height:40px;padding:0;border-radius:9px}
  .site-header .notifications-link>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .site-header .profile-link{flex:0 0 40px}
  main:not(.admin-page) :where(.section-heading h2,.menu-title-anchor){font-size:clamp(1.45rem,7vw,2rem)}
  main:not(.admin-page) :where(.section-heading-stacked .hub-intro,.section-heading>p,.section-intro){font-size:.96rem;line-height:1.42}
  main:not(.admin-page) :where(label,.name-field>span,.profile-field-summary-label,.profile-preferences-title){font-size:14px}
  main:not(.admin-page) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),select,textarea),
  .profile-login-dialog :where(input,select,textarea),
  .account-name-required-dialog :where(input,select,textarea){min-height:44px;font-size:16px}
}
