/* Boston Flowers — Journal Single Post CSS
   Requires: main.css, header-footer.css */

/* Перебить height:100vh из main.css */
#hero { height: auto; }

/* ═══ KEYFRAMES ═══ */
@keyframes gradDrift {
  0%   { background-position: 0% 0%; }
  25%  { background-position: 100% 30%; }
  50%  { background-position: 60% 100%; }
  75%  { background-position: 20% 60%; }
  100% { background-position: 0% 0%; }
}
@keyframes glowPulse { 0%,100% { opacity:.05 } 50% { opacity:.13 } }
@keyframes fadeUp { from { opacity:0; transform:translateY(20px) } to { opacity:1; transform:translateY(0) } }
@keyframes marqueeL { 0% { transform:translateX(0) } 100% { transform:translateX(-50%) } }

/* ═══ HERO ═══ */
#hero {
  min-height: 100vh;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: calc(var(--nav-h) + 100px) 0 100px;
}
.hero-bg {
  position: absolute; inset: 0;
  background: linear-gradient(135deg,#0d1f16 0%,#111315 28%,#0a1a10 52%,#111315 78%,#0d1f16 100%);
  background-size: 400% 400%;
  animation: gradDrift 14s ease-in-out infinite;
}
.hero-bg::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(17,19,21,.95) 0%, rgba(17,19,21,.15) 55%, transparent 100%);
}
.hero-glow-l { position:absolute;left:-40px;top:12%;width:440px;height:440px;background:radial-gradient(ellipse,rgba(10,26,16,.88) 0%,transparent 65%);filter:blur(80px);animation:glowPulse 12s ease-in-out infinite;pointer-events:none; }
.hero-glow-r { position:absolute;right:-40px;bottom:18%;width:400px;height:400px;background:radial-gradient(ellipse,rgba(13,25,18,.9) 0%,transparent 60%);filter:blur(90px);animation:glowPulse 9s ease-in-out 2s infinite;pointer-events:none; }
.hero-bf { position:absolute;right:8%;top:50%;transform:translateY(-50%);font-family:'Cormorant Garamond',serif;font-size:clamp(180px,22vw,320px);font-weight:300;line-height:1;letter-spacing:-.04em;color:var(--t1);opacity:.04;filter:blur(1.5px);pointer-events:none;user-select:none;z-index:1; }

.post-hero-inner {
  position: relative; z-index: 2;
  width: 100%; max-width: 1280px;
  margin: 0 auto; padding: 0 48px;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 64px;
  align-items: start;
}
.hero-left { display: flex; flex-direction: column; }
.post-back {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase;
  color: var(--t2); text-decoration: none; margin-bottom: 28px;
  transition: color .25s;
}
.post-back:hover { color: var(--rose); }
.hero-eyebrow { display:flex;align-items:center;gap:16px;margin-bottom:22px;opacity:0;animation:fadeUp 1s ease .2s forwards; }
.hero-line { width:40px;height:1px;background:var(--rose); }
.hero-h1 { font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4.5vw,64px);font-weight:300;line-height:1.05;letter-spacing:-.015em;color:var(--t1);margin-bottom:18px;opacity:0;animation:fadeUp 1s ease .4s forwards; }
.hero-h1 em { font-style:italic;color:var(--rose); }
.post-meta { display:flex;align-items:center;gap:14px;font-size:12px;color:var(--t2);letter-spacing:.04em;margin-bottom:28px;flex-wrap:wrap;opacity:0;animation:fadeUp 1s ease .55s forwards; }
.post-meta-sep { width:3px;height:3px;border-radius:50%;background:var(--rose);opacity:.5; }
.hero-btns { display:flex;gap:14px;align-items:center;flex-wrap:wrap;opacity:0;animation:fadeUp 1s ease .7s forwards; }

/* Studio card */
.post-studio-card { position:relative;border:1px solid var(--bd);background:rgba(17,19,21,.82);backdrop-filter:blur(8px);padding:32px 28px;opacity:0;animation:fadeUp 1s ease .85s forwards; }
.post-studio-card::before { content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--rose),transparent);opacity:.5; }
.post-studio-label { font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--rose);margin-bottom:20px;display:block; }
.post-studio-rows { display:flex;flex-direction:column; }
.post-studio-row { display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--bd); }
.post-studio-row.last { border-bottom:none; }
.post-studio-k { font-size:12px;color:var(--t2); }
.post-studio-v { font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:300;color:var(--t1); }

/* ═══ MARQUEE ═══ */
#trust-marquee { background:var(--olive-dim);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);overflow:hidden; }
.marquee-track { display:flex;overflow:hidden;padding:12px 0; }
.marquee-inner { display:flex;white-space:nowrap;animation:marqueeL 55s linear infinite; }
.marquee-item { font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--t2);padding:4px 32px;border-right:1px solid var(--bd);flex-shrink:0; }
.marquee-item span { color:var(--rose);margin-right:10px; }

/* ═══ PHOTO BREAK ═══ */
#post-photo-break {
  position: relative; overflow: hidden; height: 480px;
  background: linear-gradient(155deg,#0d1a10 0%,#111315 42%,#1a0e0a 100%);
  background-size: 200% 200%; animation: gradDrift 24s ease infinite;
  contain: layout paint;
}
#post-photo-break.post-photo-ph { height: 480px; background:linear-gradient(155deg,#0d1a10 0%,#111315 42%,#1a0e0a 100%);background-size:200% 200%;animation:gradDrift 24s ease infinite; }
.post-photo-img { width:100%;height:100%;object-fit:cover;object-position:center;display:block;position:relative;z-index:0;aspect-ratio:16/9; }

/* ═══ ARTICLE ═══ */
#post-article { background: var(--ivory); padding: 80px 0 96px; }
.post-layout { display:grid;grid-template-columns:1fr 300px;gap:64px;align-items:start; }
.post-body { max-width: 680px; }
.post-body h2 { font-family:'Cormorant Garamond',serif;font-size:clamp(24px,3vw,38px);font-weight:300;line-height:1.1;color:var(--ink);margin:48px 0 18px;padding-top:20px;border-top:1px solid var(--bdl); }
.post-body h2:first-child { margin-top:0;border-top:none;padding-top:0; }
.post-body h3 { font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2.5vw,26px);font-weight:300;color:var(--ink);margin:34px 0 12px; }
.post-body p { font-size:15px;line-height:1.8;color:#3a3630;margin-bottom:20px; }
.post-body ul,.post-body ol { margin:0 0 20px 22px;color:#3a3630; }
.post-body li { font-size:15px;line-height:1.75;margin-bottom:8px; }
.post-body strong { color:var(--ink);font-weight:500; }
.post-body em { font-style:italic;color:var(--wine); }
.post-content { border-top:1px solid var(--bdl);padding-top:36px; }

/* Key takeaways */
.bf-key { text-align: left;  background:var(--ivory-dim);border:1px solid var(--bdl);border-left:3px solid var(--rose);padding:26px 30px;margin:0 0 36px; }
.bf-key-label { font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--rose);margin-bottom:14px;display:block; }
.bf-key ul { list-style:none;margin:0;padding:0; }
.bf-key li { font-size:14px;line-height:1.7;color:var(--ink);padding:9px 0;border-bottom:1px solid var(--bdl);display:flex;align-items:flex-start;gap:12px; }
.bf-key li:last-child { border-bottom:none; }
.bf-key li::before { content:'—';color:var(--rose);flex-shrink:0; }

/* Sidebar */
.post-sidebar { position:sticky;top:calc(var(--nav-h) + 24px);display:flex;flex-direction:column;gap:16px; }
.post-sidebar-card { background:var(--ivory-dim);border:1px solid var(--bdl);padding:26px;position:relative; }
.post-sidebar-card::before { content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--wine),transparent);opacity:.3; }
.post-sidebar-label { font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--wine);margin-bottom:14px;display:block; }
.post-sidebar-title { font-family:'Cormorant Garamond',serif;font-size:clamp(18px,2vw,24px);font-weight:300;color:var(--ink);line-height:1.25;margin-bottom:10px; }
.post-sidebar-title em { color:var(--wine); }
.post-sidebar-sub { font-size:13px;color:#5a554f;line-height:1.7;margin-bottom:18px; }
.post-sidebar-facts { gap:0; }
.post-fact-row { display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--bdl); }
.post-fact-row.last { border-bottom:none; }
.post-fact-k { font-size:12px;color:#5a554f; }
.post-fact-v { font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:300;color:var(--ink); }
.post-related-list { display:flex;flex-direction:column; }
.post-related-item { display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid var(--bdl);text-decoration:none;transition:padding-left .25s; }
.post-related-item:last-child { border-bottom:none; }
.post-related-item:hover { padding-left:6px; }
.post-related-cat { font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--rose); }
.post-related-title { font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:300;color:var(--ink);line-height:1.3;transition:color .25s; }
.post-related-item:hover .post-related-title { color:var(--wine); }

/* Read next */
#post-next { background:var(--ivory-dim);padding:84px 0 92px;border-top:1px solid var(--bdl); }
.post-next-head { display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:34px; }
.post-next-title { font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,52px);font-weight:300;line-height:1.08;color:var(--ink);margin-top:10px; }
.post-next-title em { color:var(--wine);font-style:italic; }
.post-next-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:2px; }
.post-next-card { min-width:0;background:var(--ivory);border:1px solid var(--bdl);text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .25s ease,border-color .25s ease,background .25s ease; }
.post-next-card:hover { transform:translateY(-3px);border-color:rgba(110,31,50,.22);background:#fffaf3; }
.post-next-img { width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--olive-dim); }
.post-next-body { padding:24px 24px 26px;display:flex;flex-direction:column;gap:12px;min-height:230px; }
.post-next-cat { font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--wine);line-height:1.45; }
.post-next-card-title { font-family:'Cormorant Garamond',serif;font-size:clamp(22px,2vw,28px);font-weight:300;line-height:1.12;color:var(--ink);margin:0; }
.post-next-card-title em { color:var(--wine);font-style:italic; }
.post-next-link { margin-top:auto;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--wine); }

/* ═══ FAQ ═══ */
#post-faq { background:var(--olive-dim);padding:96px 0;border-top:1px solid var(--bd); }
#post-faq .faq-grid { display:grid;grid-template-columns:2fr 3fr;gap:80px;align-items:start; }
#post-faq .statement-line { display:block;width:0;height:1px;background:var(--rose);margin-bottom:20px;transition:width 1.2s ease .2s; }
#post-faq .statement-line.on { width:60px; }
#post-faq .faq-title { font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,52px);font-weight:300;line-height:1.08;margin-top:12px;margin-bottom:18px;color:var(--t1); }
#post-faq .faq-title em { font-style:italic;color:var(--rose); }
#post-faq .faq-intro { font-size:14px;color:var(--t2);line-height:1.7;margin-bottom:28px; }
#post-faq .faq-list { display:flex;flex-direction:column; }
#post-faq .faq-item { border-bottom:1px solid var(--bd);transition:padding-left .3s,margin-left .3s; }
#post-faq .faq-item.open { border-left:2px solid var(--rose);padding-left:14px;margin-left:-16px; }
#post-faq .faq-q { display:flex;align-items:center;justify-content:space-between;padding:17px 0;cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:300;color:var(--t1);gap:14px;user-select:none;transition:color .25s; }
#post-faq .faq-q:hover,#post-faq .faq-item.open .faq-q { color:var(--rose); }
#post-faq .faq-icon { width:20px;height:20px;border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .35s;font-size:13px;color:var(--rose);line-height:1; }
#post-faq .faq-item.open .faq-icon { transform:rotate(45deg); }
#post-faq .faq-a { max-height:0;overflow:hidden;font-size:14px;font-family:'DM Sans',sans-serif;color:var(--t2);line-height:1.75;transition:max-height .4s ease,padding .4s ease; }
#post-faq .faq-item.open .faq-a { max-height:600px;padding-bottom:18px; }
.btn-wine-solid { display:inline-block;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;padding:14px 28px;background:var(--wine);color:var(--ivory);border:1px solid var(--wine);transition:background .3s; }
.btn-wine-solid:hover { background:#8B2640; }

/* ═══ CTA LIGHT ═══ */
#post-cta-light { background:var(--ivory);padding:80px 0;border-top:1px solid var(--bdl);border-bottom:1px solid var(--bdl); }
.post-cta-light-inner { display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center; }
.post-cta-light-title { font-family:'Cormorant Garamond',serif;font-size:clamp(28px,3.5vw,48px);font-weight:300;line-height:1.08;color:var(--ink);margin:10px 0 14px; }
.post-cta-light-title em { font-style:italic;color:var(--wine); }
.post-cta-light-sub { font-size:14px;color:#5a554f;line-height:1.75;max-width:520px; }
.post-cta-light-btns { display:flex;flex-direction:column;gap:10px;flex-shrink:0; }

/* ═══ FOOTER CTA — WINE (как на всех страницах) ═══ */
.post-footer-cta { background:#3D0F1C;padding:96px 0;text-align:center;position:relative;overflow:hidden; }
.post-footer-cta-bg { position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(110,31,50,.65) 0%,transparent 55%),radial-gradient(ellipse at 80% 30%,rgba(80,15,30,.5) 0%,transparent 50%),linear-gradient(180deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,0) 50%,rgba(0,0,0,.4) 100%); }
.post-footer-cta-inner { position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap; }
.post-footer-cta-title { font-family:'Cormorant Garamond',serif;font-size:clamp(24px,3.5vw,42px);font-weight:300;line-height:1.18;color:var(--ivory);margin:10px 0 0; }
.post-footer-cta-title em { font-style:italic;color:var(--rose); }

/* ═══ WA FLOAT ═══ */
.wa-float { position:fixed;bottom:24px;right:20px;z-index:400;width:48px;height:48px;border-radius:50%;background:var(--wine);display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 3px 16px rgba(110,31,50,.35);opacity:0;transform:translateY(16px);transition:opacity .4s ease,transform .4s ease,background .3s;pointer-events:none; }
.wa-float.visible { opacity:1;transform:translateY(0);pointer-events:all;animation:waFloat 3s ease-in-out 1s infinite; }
.wa-float:hover { background:#8B2640; }
.wa-float svg { width:22px;height:22px;fill:#fff; }

/* ═══ RESPONSIVE ═══ */
@media(max-width:1100px) {
  .post-layout { grid-template-columns:1fr;gap:48px; }
  .post-sidebar { position:static; }
  .post-body { max-width:100%; }
  #post-faq .faq-grid { grid-template-columns:1fr;gap:48px; }
  .post-cta-light-inner { grid-template-columns:1fr;gap:32px; }
  .post-cta-light-btns { flex-direction:row; }
  .post-footer-cta-inner { flex-direction:column;align-items:center; text-align:center; }
  .post-next-grid { grid-template-columns:1fr;gap:10px; }
  .post-next-head { display:block; }
  .post-next-body { min-height:0; }
}
@media(max-width:640px) {
  nav { padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right)); }
  .container { padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right)); }
  #hero { padding:calc(var(--nav-h) + 96px) 0 64px !important;min-height:auto !important;align-items:flex-start !important; }
  .post-hero-inner { grid-template-columns:1fr !important;gap:32px;padding:0 20px; }
  .hero-bf { display:none; }
  .hero-btns { flex-direction:column;gap:10px;align-items:stretch; }
  .hero-btns .btn { text-align:center;display:block; }
  #post-photo-break { height:320px; }
  #post-photo-break.post-photo-ph { height:320px; }
  #post-article { padding:56px 0 72px; }
  .bf-key { text-align: left;  padding:18px 20px; }
  #post-faq { padding:72px 0; }
  #post-faq .faq-item.open { margin-left:-10px;padding-left:10px; }
  #post-cta-light { padding:56px 0; }
  .post-cta-light-inner { grid-template-columns:1fr; }
  .post-cta-light-btns { flex-direction:column;align-items:stretch; }
  .post-cta-light-btns .btn { text-align:center; }
  .post-footer-cta { padding:72px 0; }
  .post-footer-cta-inner { flex-direction:column;align-items:center;text-align:center;padding:0 24px; }
  .post-footer-cta-inner > div { margin-bottom:24px; }
  .post-footer-cta-title { font-size:clamp(13px,6vw,28px); }
  #post-next { padding:60px 0 68px; }
  .post-next-body { padding:20px; }
}
@media(max-width:1100px) and (orientation:landscape) and (min-width:640px) {
  #hero { min-height:0 !important;height:auto !important;padding-top:calc(var(--nav-h) + 48px) !important;padding-bottom:60px !important; }
  .post-hero-inner { grid-template-columns:1fr 1fr !important;gap:40px !important; }
  .container { padding-left:5vw;padding-right:5vw; }
}

/* Fix: все ссылки на странице — убрать синий браузерный default */
#hero a, #trust-marquee a, #post-photo-break a,
#post-article a, #post-faq a {
  color: inherit !important;
  text-decoration: none !important;
  -webkit-text-fill-color: inherit !important;
}
/* Fix: btn-ghost на светлом фоне */
#post-article .btn.btn-ghost,
.post-sidebar-card .btn.btn-ghost {
  color: var(--wine) !important;
  border: 1px solid var(--wine) !important;
  background: transparent !important;
  -webkit-text-fill-color: var(--wine) !important;
}
#post-article .btn.btn-ghost:hover,
.post-sidebar-card .btn.btn-ghost:hover {
  background: var(--wine) !important;
  color: var(--ivory) !important;
  -webkit-text-fill-color: var(--ivory) !important;
}
/* Fix: btn-wine везде */
.btn.btn-wine {
  background: var(--wine) !important;
  color: var(--ivory) !important;
  border: 1px solid var(--wine) !important;
  -webkit-text-fill-color: var(--ivory) !important;
}
.btn.btn-wine:hover {
  background: #8B2640 !important;
  -webkit-text-fill-color: var(--ivory) !important;
}
/* Fix: btn-text синий */
.btn-text {
  color: var(--rose) !important;
  -webkit-text-fill-color: var(--rose) !important;
}
.btn-text.dark {
  color: var(--wine) !important;
  -webkit-text-fill-color: var(--wine) !important;
}

.post-footer-cta .btn-ivory {
  background: var(--ivory) !important;
  color: var(--wine) !important;
  border: 1px solid var(--ivory) !important;
  -webkit-text-fill-color: var(--wine) !important;
}
.post-footer-cta .btn-ivory:hover {
  background:var(--ivory) !important;
  -webkit-text-fill-color: var(--wine) !important;
}

.post-footer-cta .btn-ivory{background:var(--ivory)!important;color:var(--wine)!important;border:1px solid var(--ivory)!important;-webkit-text-fill-color:var(--wine)!important;display:inline-block;}
.post-footer-cta .btn-ivory:hover{background:var(--ivory)!important;-webkit-text-fill-color:var(--wine)!important;}
