/* Chic Beirut Editorial — front-end and editor styles */
:root {
  --cb-blush: #fbf5f4;
  --cb-blush-deep: #f7efee;
  --cb-ink: #241f2a;
  --cb-muted: #77717f;
  --cb-lavender: #8c5ac7;
  --cb-border: #e6dce5;
  --cb-white: #fff;
  --cb-wide: 1280px;
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
body.admin-bar .cb-site-header { top: 32px; }

.skip-link {
  position: fixed;
  left: 1rem;
  top: -6rem;
  z-index: 99999;
  padding: .85rem 1rem;
  background: var(--cb-ink);
  color: var(--cb-white);
  text-decoration: none;
}
.skip-link:focus { top: 1rem; }

.cb-site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid var(--cb-border);
  background: rgba(251, 245, 244, .94);
  backdrop-filter: blur(14px);
}
.cb-header-inner {
  min-height: 82px;
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) auto minmax(180px, 1fr);
  align-items: center;
  gap: 2rem;
}
.cb-brand-lockup { display: flex; align-items: center; gap: .8rem; }
.cb-brand-lockup .wp-block-site-logo img { border-radius: 999px; }
.cb-site-header .wp-block-navigation { justify-self: center; }
.cb-site-header .wp-block-navigation-item__content { text-decoration: none; }
.cb-instagram-link { justify-self: end; color: var(--cb-muted); font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; }

.cb-section { padding-top: clamp(5rem, 8vw, 8.25rem); padding-bottom: clamp(5rem, 8vw, 8.25rem); }
.cb-section--tight { padding-top: clamp(3.5rem, 5vw, 5rem); padding-bottom: clamp(3.5rem, 5vw, 5rem); }
.cb-section-label {
  color: var(--cb-muted) !important;
  font-size: .68rem !important;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: .75rem;
}
.cb-section-label::before { content: ''; width: 32px; height: 1px; background: var(--cb-lavender); display: inline-block; }
.cb-accent { color: var(--cb-lavender); font-style: italic; }

.cb-hero {
  min-height: calc(100svh - 82px);
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  max-width: none !important;
  padding: 0 !important;
}
.cb-hero-copy {
  padding: clamp(4rem, 7vw, 7rem) clamp(2rem, 6vw, 6rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.cb-eyebrow { color: var(--cb-muted) !important; font-size: .72rem !important; letter-spacing: .18em; text-transform: uppercase; }
.cb-hero-title { font-size: clamp(3.2rem, 5.15vw, 5rem) !important; max-width: 780px; margin-top: 1.65rem !important; margin-bottom: 1.6rem !important; }
.cb-hero-copy > p:not(.cb-eyebrow) { max-width: 650px; }
.cb-hero-image { margin: 0 !important; min-height: calc(100svh - 82px); }
.cb-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.cb-button-outline .wp-block-button__link { background: transparent !important; color: var(--cb-ink) !important; }
.cb-button-outline .wp-block-button__link:hover { background: var(--cb-lavender) !important; color: var(--cb-white) !important; border-color: var(--cb-lavender) !important; }

.cb-ticker { overflow: hidden; border-top: 1px solid var(--cb-border); border-bottom: 1px solid var(--cb-border); background: var(--cb-blush-deep); }
.cb-ticker-track { width: max-content; display: flex; gap: 2.6rem; align-items: center; padding: 1.05rem 0; animation: cbTicker 38s linear infinite; }
.cb-ticker-track span { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.35rem; color: var(--cb-muted); white-space: nowrap; }
@keyframes cbTicker { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .cb-ticker-track { animation: none; } }

.cb-about-grid { display: grid !important; grid-template-columns: minmax(180px, .6fr) minmax(0, 2fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.cb-about-title { font-size: clamp(2.9rem, 4.7vw, 4.5rem) !important; max-width: 950px; }
.cb-about-copy { max-width: 790px; }
.cb-page-content h2 { font-size: clamp(1.7rem, 2.6vw, 2.3rem) !important; margin-top: 3rem !important; margin-bottom: 1rem !important; }
.cb-page-content ul { color: var(--cb-muted); padding-left: 1.4rem; }
.cb-page-content a { color: var(--cb-ink); text-decoration: underline; text-underline-offset: 3px; }
.cb-page-content a:hover { color: var(--cb-lavender); }
.cb-trust-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 2rem; margin-top: 3.3rem; align-items: start; }
.cb-trust-item { margin-top: 0 !important; border-top: 1px solid var(--cb-border); padding-top: 1rem; color: var(--cb-ink) !important; font-size: .7rem !important; letter-spacing: .16em; text-transform: uppercase; }

.cb-collections-grid { display: grid !important; grid-template-columns: repeat(4, minmax(200px, 1fr)); gap: clamp(2rem, 4vw, 3.5rem); align-items: stretch; }
.cb-collection-card { padding: 0; }
.cb-collection-card { margin-top: 0 !important; align-self: stretch; }
.cb-collection-number { font-size: .68rem !important; letter-spacing: .16em; color: var(--cb-muted) !important; padding-top: 1.4rem; border-top: 1px solid var(--cb-border); margin-top: 0 !important; }
.cb-collection-card h3 {
  font-size: clamp(1.5rem, 2vw, 2.2rem) !important;
  margin-top: 1.8rem !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  white-space: normal;
}
.cb-collection-card p { word-break: normal; overflow-wrap: normal; hyphens: none; }

.cb-arrivals-header { display: flex !important; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 3.5rem; }
.cb-arrivals-title { font-size: clamp(3rem, 4.6vw, 4.4rem) !important; }
.cb-small-link { color: var(--cb-muted); font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid var(--cb-lavender); padding-bottom: .35rem; }
.cb-editorial-grid { display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.6rem; align-items: start; }
.cb-card { min-width: 0; }
.cb-card--a { grid-column: span 7; }
.cb-card--b { grid-column: 9 / span 4; margin-top: 4rem; }
.cb-card--c { grid-column: 1 / span 4; margin-top: 4rem; }
.cb-card--d { grid-column: 6 / span 7; margin-top: 1rem; }
.cb-card img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; transition: transform .6s ease; }
.cb-card--a img, .cb-card--d img { aspect-ratio: 6 / 5; }
.cb-card figure { overflow: hidden; }
.cb-card a { display: block; }
.cb-card:hover img { transform: scale(1.035); }

.cb-consignment { text-align: center; background: var(--cb-blush-deep); }
.cb-consignment-inner { max-width: 880px; margin: 0 auto; }
.cb-consignment h2 { font-size: clamp(2.7rem, 4.3vw, 4rem) !important; }

.cb-contact-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.cb-contact-title { font-size: clamp(3rem, 4.5vw, 4.3rem) !important; }
.cb-contact-list { border-top: 1px solid var(--cb-border); }
.cb-contact-row { display: grid !important; grid-template-columns: 1fr 1fr; gap: 1rem; padding: 1.35rem 0; border-bottom: 1px solid var(--cb-border); }
.cb-contact-key { font-size: .68rem !important; letter-spacing: .16em; text-transform: uppercase; color: var(--cb-muted) !important; }
.cb-contact-value { text-align: right; color: var(--cb-ink) !important; }

.cb-map-grid { display: grid !important; grid-template-columns: minmax(280px, .62fr) minmax(0, 1.38fr); gap: 2rem; align-items: stretch; }
.cb-map-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 4vw, 4rem); border: 1px solid var(--cb-border); background: var(--cb-blush-deep); }
.cb-map-image { margin: 0 !important; min-height: 430px; }
.cb-map-image img, .cb-map-image iframe { width: 100%; height: 100%; object-fit: cover; display: block; }

.cb-site-footer { border-top: 1px solid var(--cb-border); background: var(--cb-blush-deep); }
.cb-footer-inner { text-align: center; padding-top: 5rem; padding-bottom: 4rem; }
.cb-footer-title { font-family: "Cormorant Garamond", Georgia, serif; font-size: 2rem; color: var(--cb-ink); }
.cb-footer-links { justify-content: center; }
.cb-footer-links a { font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; }
.cb-footer-disclaimer { max-width: 760px; margin-inline: auto !important; font-size: .78rem !important; }
.cb-footer-copy { font-size: .68rem !important; letter-spacing: .11em; text-transform: uppercase; }

#cb-cookie-banner {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 9999;
  width: min(400px, calc(100vw - 3rem));
  padding: 1.6rem;
  background: rgba(255,255,255,.98);
  border: 1px solid var(--cb-border);
  box-shadow: 0 18px 55px rgba(36,31,42,.10);
}
#cb-cookie-banner[hidden] { display: none; }
.cb-cookie-title { font-family: "Cormorant Garamond", Georgia, serif; color: var(--cb-ink); font-size: 1.35rem; margin: 0 0 .7rem; }
.cb-cookie-text { color: var(--cb-muted); font-size: .92rem; margin: 0 0 1.25rem; }
.cb-cookie-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.cb-cookie-button { appearance: none; border: 1px solid var(--cb-ink); border-radius: 0; padding: .9rem 1rem; background: var(--cb-ink); color: white; font: 500 .68rem/1 Inter, sans-serif; letter-spacing: .16em; text-transform: uppercase; cursor: pointer; }
.cb-cookie-button--secondary { background: white; color: var(--cb-ink); }
.cb-cookie-button:hover, .cb-cookie-button:focus-visible { background: var(--cb-lavender); border-color: var(--cb-lavender); color: white; }

@media (max-width: 980px) {
  .wp-block-group.alignwide { padding-left: 1.4rem; padding-right: 1.4rem; }
  .cb-header-inner { grid-template-columns: 1fr auto; }
  .cb-site-header .wp-block-navigation { grid-column: 1 / -1; justify-self: stretch; padding-bottom: 1rem; }
  .cb-instagram-link { display: none; }
  .cb-hero { grid-template-columns: 1fr; min-height: auto; }
  .cb-hero-image { min-height: 66svh; }
  .cb-about-grid, .cb-contact-grid, .cb-map-grid { grid-template-columns: 1fr; }
  .cb-trust-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .cb-collections-grid { grid-template-columns: repeat(2, minmax(180px,1fr)); gap: 2.4rem 1.5rem; }
  .cb-card--a { grid-column: span 8; }
  .cb-card--b { grid-column: 9 / span 4; }
  .cb-card--c { grid-column: 1 / span 5; }
  .cb-card--d { grid-column: 6 / span 7; }
}

@media (max-width: 680px) {
  .wp-block-group.alignwide { padding-left: 1.4rem; padding-right: 1.4rem; }
  body.admin-bar .cb-site-header { top: 46px; }
  .cb-header-inner { min-height: 72px; gap: 1rem; }
  .cb-brand-lockup .wp-block-site-title { font-size: 1.45rem !important; }
  .cb-site-header .wp-block-navigation { padding-bottom: .8rem; }
  .cb-hero-copy { padding: 4rem 1.4rem; }
  .cb-hero-title { font-size: clamp(2.1rem, 9vw, 2.75rem) !important; }
  .cb-about-title { font-size: clamp(1.9rem, 7vw, 2.4rem) !important; }
  .cb-arrivals-title { font-size: clamp(2rem, 8vw, 2.6rem) !important; }
  .cb-consignment h2 { font-size: clamp(1.8rem, 7vw, 2.3rem) !important; }
  .cb-contact-title { font-size: clamp(1.9rem, 7vw, 2.4rem) !important; }
  .cb-collection-card h3 { font-size: clamp(1.4rem, 6vw, 1.8rem) !important; }
  .has-large-font-size { font-size: clamp(1.7rem, 7vw, 2.2rem) !important; }
  .cb-hero-image { min-height: 58svh; }
  .cb-section { padding-top: 4.5rem; padding-bottom: 4.5rem; }
  .cb-about-grid { gap: 2rem; }
  .cb-trust-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .cb-collections-grid { grid-template-columns: 1fr; gap: 2rem; }
  .cb-arrivals-header { align-items: flex-start; flex-direction: column; }
  .cb-editorial-grid { grid-template-columns: 1fr; gap: 2.8rem; }
  .cb-card--a, .cb-card--b, .cb-card--c, .cb-card--d { grid-column: auto; margin-top: 0; }
  .cb-card img, .cb-card--a img, .cb-card--d img { aspect-ratio: 4 / 5; }
  .cb-contact-row { grid-template-columns: 1fr; }
  .cb-contact-value { text-align: left; }
  #cb-cookie-banner { right: .75rem; bottom: .75rem; width: calc(100vw - 1.5rem); }
}
