/*
Theme Name: Bergamot Post
Description: Child theme for bergamotpost.com — original greeting cards and video cards. Card canvas, poem panels, daily counters, saved cards, batch uploader.
Author: Bergamot Post
Template: generatepress
Version: 1.4
*/

/* ---------- Fonts (bundled, latin subsets) ---------- */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/cormorant-garamond-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'Great Vibes';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/great-vibes-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/source-sans-3-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/source-sans-3-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/source-sans-3-latin-700-normal.woff2') format('woff2');}

/* ---------- Palette: ivory paper, green ink, bergamot gold ---------- */
:root{
  --bp-paper:#FBF5EE;
  --bp-card:#FFFFFF;
  --bp-ink:#382F2A;
  --bp-soft:#8A7A70;
  --bp-rose:#A25569;
  --bp-rose-soft:#F6E7E6;
  --bp-gold:#B98A2F;
  --bp-line:#ECDFD3;
  --bp-wash:#F8EEE6;
  --bp-serif:'Cormorant Garamond',Georgia,serif;
  --bp-script:'Great Vibes',cursive;
  --bp-sans:'Source Sans 3',-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

body{background:var(--bp-paper);color:var(--bp-ink);font-family:var(--bp-sans);font-size:16px;line-height:1.55;}
a{color:var(--bp-rose);text-decoration:none;}
a:hover{color:var(--bp-gold);}
:focus-visible{outline:2px solid var(--bp-gold);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;}}

/* Hide the parent theme chrome — the theme draws its own header, menu and footer */
.site-header,.main-navigation,.site-footer,.site-info,.menu-toggle{display:none!important;}
.site-content{padding-top:0;}

/* ---------- Layout: fixed left rail, shifted content ---------- */
.grid-container{max-width:1240px;}

/* ---------- Header ---------- */
.bp-top{position:sticky;top:0;z-index:60;background:rgba(251,245,238,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--bp-line);}
.bp-top-in{max-width:none;margin:0;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.bp-logo{font-family:var(--bp-serif);font-weight:700;font-size:30px;letter-spacing:.01em;color:var(--bp-ink);display:flex;align-items:center;gap:10px;line-height:1;}
.bp-logo:hover{color:var(--bp-ink);}
.bp-logo .bp-sprig{width:22px;height:22px;flex:0 0 auto;color:var(--bp-gold);}
.bp-logo em{font-style:normal;color:var(--bp-gold);}
.bp-hd{display:flex;align-items:center;gap:18px;font-weight:600;}
.bp-hd a{color:var(--bp-ink);}
.bp-hd a:hover{color:var(--bp-gold);}
.bp-savedcount:empty{display:none;}
.bp-savedcount{background:var(--bp-rose);color:#fff;border-radius:99px;font-size:12px;padding:1px 7px;margin-left:2px;}
.bp-menu-btn{display:none;border:1px solid var(--bp-line);background:var(--bp-card);color:var(--bp-ink);border-radius:8px;padding:7px 14px;font:600 15px var(--bp-sans);cursor:pointer;}

/* ---------- Left rail: fixed on wide screens, hidden below ---------- */
.bp-side{display:none;}
@media (min-width:1200px){
  .bp-side{display:block;position:fixed;left:0;top:64px;bottom:0;width:252px;background:var(--bp-paper);border-right:1px solid var(--bp-line);padding:26px 22px 40px;overflow-y:auto;scrollbar-width:none;z-index:50;}
  .bp-side::-webkit-scrollbar{display:none;}
  .site-content{margin-left:252px;}
}
.bp-side-t{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--bp-soft);padding-bottom:10px;border-bottom:1px solid var(--bp-gold);margin-bottom:12px;}
.bp-side a{display:block;padding:7px 2px;color:var(--bp-ink);font-weight:600;border-radius:6px;}
.bp-side a:hover{color:var(--bp-gold);}
.bp-side .bp-pages{margin-top:18px;padding-top:14px;border-top:1px solid var(--bp-line);}
.bp-side .bp-pages a{font-weight:400;color:var(--bp-soft);font-size:14px;padding:4px 2px;}
.bp-side .bp-pages a:hover{color:var(--bp-gold);}

/* ---------- Slide-over panel (mobile) ---------- */
.bp-panel{position:fixed;inset:0 28% 0 0;max-width:340px;background:var(--bp-card);z-index:90;transform:translateX(-102%);transition:transform .22s ease;padding:56px 22px 30px;overflow:auto;box-shadow:6px 0 30px rgba(38,43,34,.18);}
.bp-panel.open{transform:none;}
.bp-panel a{display:block;padding:9px 2px;color:var(--bp-ink);font-weight:600;}
.bp-panel .bp-pages a{font-weight:400;color:var(--bp-soft);font-size:14px;}
.bp-close{position:absolute;top:10px;right:12px;border:0;background:none;font-size:30px;line-height:1;color:var(--bp-soft);cursor:pointer;}

/* ---------- Card canvas: masonry columns, mixed formats ---------- */
.bp-grid{column-count:4;column-gap:20px;padding:26px 0 10px;}
.bp-card{display:inline-block;width:100%;margin:0 0 20px;background:var(--bp-card);border:1px solid var(--bp-line);border-radius:12px;overflow:hidden;break-inside:avoid;transition:box-shadow .18s ease,transform .18s ease;}
.bp-card:hover{box-shadow:0 10px 26px rgba(162,85,105,.13);transform:translateY(-2px);}
.bp-card-img{display:block;position:relative;line-height:0;}
.bp-card-img img,.bp-card-img video{width:100%;height:auto;display:block;}
.bp-play{position:absolute;right:10px;bottom:10px;background:rgba(38,43,34,.62);color:#fff;border-radius:99px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;pointer-events:none;}
.bp-card-body{padding:12px 14px 14px;line-height:1.4;}
.bp-card-t{font-family:var(--bp-serif);font-weight:600;font-size:19px;margin:0 0 6px;}
.bp-card-t a{color:var(--bp-ink);}
.bp-card-t a:hover{color:var(--bp-gold);}
.bp-card-poem{font-size:13.5px;color:var(--bp-soft);font-style:italic;margin-bottom:9px;}
.bp-card-poem .bp-tail{color:var(--bp-rose);font-style:normal;white-space:nowrap;}
.bp-card-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.bp-star{margin-left:auto;color:var(--bp-gold);font-weight:700;font-size:13.5px;white-space:nowrap;}
.bp-sent{display:block;margin-top:7px;font-size:12.5px;color:var(--bp-soft);}

/* ---------- Buttons ---------- */
.bp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--bp-rose);color:#fff;border:1px solid var(--bp-rose);border-radius:9px;padding:9px 16px;font:600 15px var(--bp-sans);cursor:pointer;transition:background .15s ease;}
.bp-btn:hover{background:var(--bp-ink);border-color:var(--bp-ink);color:#fff;}
.bp-btn.bp-ghost{background:transparent;color:var(--bp-ink);border-color:var(--bp-line);}
.bp-btn.bp-ghost:hover{border-color:var(--bp-rose);color:var(--bp-rose);background:var(--bp-rose-soft);}
.bp-btn.bp-sm{padding:6px 12px;font-size:13.5px;border-radius:7px;}
.bp-fav{border:1px solid var(--bp-line);background:transparent;color:var(--bp-rose);border-radius:7px;padding:6px 10px;font-size:15px;line-height:1;cursor:pointer;}
.bp-fav:hover{border-color:var(--bp-rose);background:var(--bp-rose-soft);}
.bp-fav.on{background:var(--bp-rose);border-color:var(--bp-rose);color:#fff;}
.bp-fav-big{padding:9px 16px;font:600 15px var(--bp-sans);border-radius:8px;}

/* ---------- Single card page ---------- */
.bp-single{max-width:780px;margin:0 auto;padding:26px 0 30px;}
.bp-crumbs{font-size:13.5px;color:var(--bp-soft);margin-bottom:14px;}
.bp-crumbs a{color:var(--bp-soft);}
.bp-crumbs a:hover{color:var(--bp-gold);}
.bp-single h1{font-family:var(--bp-serif);font-weight:700;font-size:34px;line-height:1.15;margin:0 0 8px;}
.bp-single-star{color:var(--bp-gold);font-weight:700;margin-bottom:14px;}
.bp-single-img{line-height:0;margin-bottom:16px;}
.bp-single-img img,.bp-single-img video{width:100%;height:auto;border-radius:14px;border:1px solid var(--bp-line);}
.bp-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px;}
.bp-desc{font-size:16.5px;max-width:64ch;}
.bp-desc p{margin:0 0 14px;}

/* Poem and message panels */
.bp-pane{background:var(--bp-wash);border:1px solid var(--bp-line);border-radius:16px;padding:20px 22px;margin:20px 0;}
.bp-pane-t{font-family:var(--bp-script);font-weight:400;font-size:32px;line-height:1.1;color:var(--bp-rose);margin-bottom:12px;}
.bp-poem{white-space:pre-line;font-size:16.5px;line-height:1.65;margin-bottom:14px;}
.bp-pane-row{display:flex;gap:10px;flex-wrap:wrap;}
.bp-copy.done{color:var(--bp-rose);border-color:var(--bp-rose);}

/* Message variants: pick one, copy any */
.bp-msgs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
.bp-msg{display:block;background:var(--bp-card);border:1px solid var(--bp-line);border-radius:12px;padding:12px 14px;cursor:pointer;transition:border-color .15s ease;}
.bp-msg:hover{border-color:var(--bp-gold);}
.bp-msg:has(input:checked){border-color:var(--bp-rose);box-shadow:0 0 0 1px var(--bp-rose);}
.bp-msg-top{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.bp-msg-top input{accent-color:var(--bp-rose);margin:0;}
.bp-tone{font:600 12px var(--bp-sans);color:var(--bp-rose);background:var(--bp-rose-soft);border-radius:99px;padding:3px 10px;}
.bp-msg-copy{margin-left:auto;border:1px solid var(--bp-line);background:transparent;border-radius:7px;padding:4px 11px;font:600 12.5px var(--bp-sans);cursor:pointer;color:var(--bp-ink);}
.bp-msg-copy:hover{border-color:var(--bp-rose);color:var(--bp-rose);}
.bp-msg-text{display:block;white-space:pre-line;font-size:15.5px;line-height:1.55;}

/* More cards below the single page */
.bp-more{margin-top:34px;}
.bp-more-t{font-family:var(--bp-script);font-weight:400;font-size:34px;line-height:1.1;color:var(--bp-ink);padding-bottom:8px;border-bottom:1px solid var(--bp-gold);margin-bottom:6px;}
.bp-minis{column-count:3;column-gap:16px;padding:14px 0 4px;}
.bp-mini{display:inline-block;width:100%;margin:0 0 16px;background:var(--bp-card);border:1px solid var(--bp-line);border-radius:12px;overflow:hidden;line-height:0;break-inside:avoid;transition:box-shadow .18s ease,transform .18s ease;}
.bp-mini:hover{box-shadow:0 8px 20px rgba(162,85,105,.13);transform:translateY(-2px);}
.bp-mini img{width:100%;height:auto;display:block;}
.bp-mini-t{display:block;line-height:1.35;font:600 14px var(--bp-sans);color:var(--bp-ink);padding:10px 12px 12px;}
.bp-mini:hover .bp-mini-t{color:var(--bp-gold);}

/* ---------- Archive titles (parent theme page header) ---------- */
.page-header{padding:26px 0 0;}
.page-header .page-title{font-family:var(--bp-serif);font-weight:700;font-size:32px;margin:0 0 4px;}
.page-header .archive-description,.taxonomy-description{color:var(--bp-soft);max-width:74ch;font-size:15.5px;}
.taxonomy-description p{margin:0 0 6px;}

/* ---------- Saved cards ---------- */
.bp-saved-note{color:var(--bp-soft);margin:6px 0 10px;}
.bp-saved-empty{color:var(--bp-soft);padding:30px 0;}

/* ---------- Pagination ---------- */
.bp-pag,.paging-navigation,.page-numbers{font-weight:600;}
.nav-links,.bp-pag{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0 34px;}
.page-numbers{display:inline-flex;align-items:center;border:1px solid var(--bp-line);background:var(--bp-card);color:var(--bp-ink);border-radius:8px;padding:9px 15px;}
.page-numbers.current{background:var(--bp-ink);border-color:var(--bp-ink);color:#fff;}
a.page-numbers:hover{border-color:var(--bp-gold);color:var(--bp-gold);}

/* ---------- Footer ---------- */
.bp-foot{border-top:1px solid var(--bp-line);background:var(--bp-card);margin-top:30px;}
.bp-foot-in{max-width:900px;margin:0 auto;padding:30px 22px 36px;text-align:center;color:var(--bp-soft);font-size:14px;}
.bp-foot-in p{margin:0 0 10px;}
.bp-foot-logo{font-family:var(--bp-serif);font-weight:700;font-size:20px;color:var(--bp-ink);margin-bottom:12px;}
.bp-foot-logo em{font-style:normal;color:var(--bp-gold);}
.bp-foot-nav{display:flex;justify-content:center;gap:6px 22px;flex-wrap:wrap;margin:16px 0 14px;padding-top:16px;border-top:1px solid var(--bp-line);}
.bp-foot-nav a{color:var(--bp-ink);font:600 13.5px var(--bp-sans);letter-spacing:.04em;text-transform:uppercase;}
.bp-foot-nav a:hover{color:var(--bp-gold);}

/* ---------- Static pages (About, Contact, Privacy, Terms) ---------- */
.page .bp-canvas .site-main,.page article.page{max-width:72ch;margin:0 auto;}
.page .entry-title{font-family:var(--bp-serif);font-weight:700;font-size:34px;line-height:1.15;margin:26px 0 18px;}
.page .entry-content{font-size:16.5px;line-height:1.7;}
.page .entry-content h2{font-family:var(--bp-script);font-weight:400;font-size:32px;line-height:1.1;color:var(--bp-rose);margin:30px 0 10px;}
.page .entry-content p{margin:0 0 14px;}
.page .entry-content ul{margin:0 0 14px 22px;}
.page .entry-content a{color:var(--bp-rose);text-decoration:underline;text-underline-offset:3px;}
.page .entry-content a:hover{color:var(--bp-gold);}

/* ---------- Responsive ---------- */
@media (max-width:1200px){.bp-grid{column-count:3;}}
@media (max-width:1199px){
  .bp-menu-btn{display:inline-flex;align-items:center;gap:7px;}
}
@media (max-width:900px){
  .bp-grid{column-count:2;}
  .bp-logo{font-size:24px;}
  .bp-hd .bp-hd-a{display:none;}
}
@media (max-width:620px){
  .bp-grid{column-count:1;}
  .bp-hd .bp-hd-a{display:none;}
  .bp-minis{column-count:2;}
  .bp-msgs{grid-template-columns:1fr;}
  .bp-single h1{font-size:27px;}
  .bp-top-in{padding:12px 14px;}
}
