@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&display=swap');

@font-face{
  font-family:'Manrope';
  src:url('/assets/manrope-latin-variable.woff2') format('woff2');
  font-weight:200 800;
  font-style:normal;
  font-display:swap;
}

:root{
  --sans:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --serif:'Cormorant Garamond','Iowan Old Style','Baskerville',Georgia,serif;
  --bg:#FCFAF8;
  --paper:#FFFFFF;
  --card:#FFFFFF;
  --ink:#241F1C;
  --muted:#786F69;
  --muted-soft:#A49B95;
  --line:#EAE3DE;
  --coral:#E27470;
  --coral-dark:#D96561;
  --coral-soft:#FBEDEC;
  --sage:#8C9274;
  --cream:#F5EEE7;
  --white:#FFFFFF;
  --shadow:0 14px 36px rgba(36,31,28,.06);
  --shadow-soft:0 8px 24px rgba(36,31,28,.045);
  --radius-sm:10px;
  --radius:16px;
  --radius-lg:24px;
  --space-card:24px;
}

html{background:var(--bg);color:var(--ink);font-family:var(--sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5}
button,input,select,textarea{font-family:var(--sans);font-weight:400;color:var(--ink)}
p,li,small,span,label,input,textarea,select,button,a{font-family:var(--sans)}
h1,h2,.hero-copy h1,.hero-copy h2,.subpage-hero h1,.admin-header h1,.section-heading h2,.dialog-head h2,.gate-card h1,.photo-workspace h1,.photo-workspace h2,.photo-shell h1,.photo-shell h2,.editor-heading h1,.login-story h1,.memory-hero-copy h1,.dashboard-gallery-header h1{
  font-family:var(--serif)!important;
  color:var(--ink);
  font-weight:500!important;
  letter-spacing:-.01em;
}
h1,h2,
h1 *,h2 *{
  font-family:var(--serif);
}
h1,.page-intro h1,.dashboard-gallery-header h1{font-size:42px!important;line-height:1.1!important}
h2,.panel-heading h2,.legal-card h2,.feature-detail-card h2{font-size:22px!important;line-height:1.2!important;font-weight:600!important}
h3,.card-heading,.feature-story-copy h3,.platform-item h3,.stat-name,.memory-dashboard-grid .uploader-row strong,.uploader-row strong,.vendor-card h2{font-family:var(--sans)!important;font-size:16px;font-weight:600!important;line-height:1.3;color:var(--ink)}
.muted,.hint,.secondary-text,.legal-card p,.legal-card li,.feature-detail-card>p,.platform-item p,.dashboard-gallery-header p,.gallery-heading p,.photo-lead,.subpage-hero>p{color:var(--muted);font-family:var(--sans)!important;font-size:15px;line-height:1.5;font-weight:400}
small,.caption,.album-meta,.photo-item>p,.panel-footnote,.breadcrumb,.nav-count,.footer-bottom{font-size:12px!important;line-height:1.3;font-weight:500;color:var(--muted-soft)}
.eyebrow,.section-tag,.subpage-kicker,.footer-kicker,.nav-label,.code-list-title{color:var(--coral);font-family:var(--sans)!important;font-size:12px!important;font-weight:600!important;letter-spacing:.16em;text-transform:uppercase}

.btn,.primary,.secondary,.primary-button,.quiet-button,.login-button,.start-button,.footer-start,.panel-button,.text-button,.icon-button,.gallery-filter-button,.gallery-tabs button,.dashboard-gallery-actions .btn{
  border-radius:12px!important;
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:600!important;
  letter-spacing:0;
}
.btn.coral,.primary,.primary-button,.start-button,.footer-start,.dashboard-gallery-actions .btn.coral,.memory-hero-actions .btn.coral,.gallery-actions .btn.coral{
  background:var(--coral)!important;
  border-color:var(--coral)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(226,116,112,.16)!important;
}
.btn.coral:hover,.primary:hover:not(:disabled),.primary-button:hover,.start-button:hover,.footer-start:hover,.dashboard-gallery-actions .btn.coral:hover{background:var(--coral-dark)!important;transform:translateY(-1px)}
.btn:not(.coral),.secondary,.quiet-button,.login-button,.dashboard-gallery-actions .btn:not(.coral),.gallery-filter-button,.gallery-more-button{
  background:var(--paper)!important;
  border:1px solid var(--line)!important;
  color:var(--ink)!important;
  box-shadow:none!important;
}
.btn:not(.coral):hover,.secondary:hover,.quiet-button:hover,.login-button:hover,.gallery-filter-button:hover{background:var(--bg)!important;transform:translateY(-1px)}

.panel,.stat-card,.memory-stat-card,.legal-card,.feature-detail-card,.price-card,.guestbook-control-panel,.guestbook-how,.guestbook-qr-card,.photo-item,.insight-card,.admin-card,.plan-card,.addon-card,.summary-grid article,.gate-card,.dashboard-gallery-actions .btn,.gallery-hint-card,.gallery-browser-card,.gallery-media-card,.collect-panel,.collect-card{
  background:var(--paper)!important;
  border-color:var(--line)!important;
  border-radius:var(--radius)!important;
  box-shadow:var(--shadow-soft)!important;
}
.panel,.legal-card,.feature-detail-card,.guestbook-control-panel,.gallery-browser-card{padding:var(--space-card)}

.site-header,.public-page .site-header,.dash-topbar,.topbar{
  background:rgba(252,250,248,.92)!important;
  border-color:var(--line)!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.sidebar,.admin-sidebar{background:var(--bg)!important;border-color:var(--line)!important;color:var(--ink)!important;box-shadow:none!important}
.nav-link{font-family:var(--sans)!important;font-size:15px!important;font-weight:500!important;color:var(--muted)!important;border-radius:12px!important}
.nav-link:hover{background:#fff!important;color:var(--ink)!important}
.nav-link.active{background:var(--coral-soft)!important;color:var(--coral)!important;font-weight:600!important}
.nav-link svg{color:currentColor}
.admin-sidebar nav a{color:var(--muted)!important;background:transparent!important}
.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:var(--coral-soft)!important;color:var(--coral)!important;box-shadow:none!important}

input,textarea,select,.gallery-search,.url-row,.search-box,.user-toolbar input,.user-toolbar select,.dialog-fields input,.dialog-fields textarea,.dialog-fields select{
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  color:var(--ink)!important;
  box-shadow:none!important;
}
input::placeholder,textarea::placeholder{color:var(--muted-soft)}
input:focus,textarea:focus,select:focus{outline:2px solid rgba(226,116,112,.22)!important;border-color:var(--coral)!important}

.landing-footer{background:var(--bg)!important;color:#fff!important}
.footer-shell{
  background:linear-gradient(145deg,#E27470,#D96561)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:24px 24px 12px 12px!important;
  box-shadow:0 18px 45px rgba(226,116,112,.18)!important;
}
.footer-shell h2,.footer-column strong,.footer-wordmark{color:#fff!important}
.footer-branding p,.footer-column a,.footer-bottom{color:rgba(255,255,255,.78)!important;font-family:var(--sans)!important}
.footer-column a:hover{color:#fff!important;text-decoration:underline;text-underline-offset:4px}
.footer-divider{color:rgba(255,255,255,.82)!important}
.footer-divider span{background-color:rgba(255,255,255,.22)!important}
.footer-bottom{border-color:rgba(255,255,255,.22)!important}
.footer-start{background:#fff!important;color:var(--coral)!important;border-color:#fff!important;box-shadow:none!important}
.footer-start:hover{background:var(--coral-soft)!important;color:var(--coral-dark)!important}

.public-page,.admin-app,.dashboard-shell,.photo-shell,.guest-photo-body,.print-body{background:var(--bg)!important;color:var(--ink)!important}
.subpage-hero,.feature-detail-card:first-child,.platform-section,.upload-cta-panel,.collect-panel,.gallery-hint-card{background:var(--paper)!important}
.platform-section{color:var(--ink)!important;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.platform-copy>p,.platform-item p{color:var(--muted)!important}
.platform-item{background:#fff!important;border-color:var(--line)!important;border-radius:16px!important}
.platform-item>span,.feature-card-icon,.summary-icon,.stat-icon,.gallery-hint-card i,.how-step>span,.insight-card>span{background:var(--coral-soft)!important;color:var(--coral)!important}

.photo-workspace,.photo-shell{--gb-bg:var(--bg);--gb-paper:var(--paper);--gb-ink:var(--ink);--gb-muted:var(--muted);--gb-line:var(--line);--gb-coral:var(--coral);--gb-coral-dark:var(--coral-dark);--gb-gold:var(--muted);--gb-sage:var(--sage);font-family:var(--sans)!important;color:var(--ink)!important}
.photo-workspace button,.photo-workspace a,.photo-workspace p,.photo-workspace small,.photo-workspace span,.photo-shell button,.photo-shell a,.photo-shell p,.photo-shell small,.photo-shell span{font-family:var(--sans)!important}
.photo-workspace .guestbook-hero h1,.guestbook-hero h1{font-family:var(--serif)!important;font-size:42px!important;font-weight:500!important;color:var(--ink)!important}
.photo-workspace .guestbook-link-card h2,.photo-workspace .guestbook-create h2,.guestbook-link-card h2,.guestbook-create h2{font-family:var(--serif)!important;font-size:28px!important;font-weight:500!important;color:var(--ink)!important}

.memory-hero-copy h1{font-size:42px!important;font-weight:500!important}.memory-hero-copy p{font-size:16px!important;color:var(--muted)!important;font-weight:400!important}.memory-stat-card strong,.stat-value strong,.gallery-stat-tray strong{font-family:var(--serif)!important;font-weight:500!important;color:var(--ink)!important}.memory-stat-card span,.stat-name,.gallery-stat-tray span{font-weight:500!important;color:var(--muted)!important}.gallery-dashboard-shell .dashboard-main{background:var(--bg)!important}.gallery-dashboard-shell .dashboard-logo-mark{font-family:var(--sans)!important;font-weight:600!important;letter-spacing:.16em;color:var(--ink)!important}.dashboard-gallery-header p{font-size:16px!important}.gallery-person strong{font-size:15px!important;font-weight:500!important}.gallery-tabs button.active{background:var(--coral-soft)!important;color:var(--coral)!important}.gallery-owner strong{font-size:12px!important;font-weight:500!important}.gallery-video-badge{font-weight:500!important}

.wordmark,.footer-wordmark,.admin-logo,.gate-logo{font-family:var(--sans)!important;font-weight:600!important;letter-spacing:.16em;color:var(--ink)!important}.brand-heart{color:#fff!important}.desktop-nav a,.mobile-nav a{font-family:var(--sans)!important;font-size:14px;font-weight:500;color:var(--ink)}.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{color:var(--coral)!important}.desktop-nav a[aria-current="page"]::after{background:var(--coral)!important}

@media(max-width:700px){
  h1,.page-intro h1,.dashboard-gallery-header h1{font-size:36px!important}.hero-copy h1,.subpage-hero h1{font-size:42px!important}.panel,.legal-card,.feature-detail-card,.guestbook-control-panel,.gallery-browser-card{padding:20px}.nav-link{font-size:14px!important}.dashboard-gallery-actions .btn,.btn,.primary,.secondary{font-size:14px!important}
}
