/* Box Lunch only. Shared site styles and Coffee Break are preserved. */
.bl-page { --bl-accent: #bc4038; background: #fffbf6; }
.bl-page .bl-kicker { display:block; color:var(--bl-accent); font-size:.875rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.bl-page h1 em,.bl-page h2 em { color:var(--bl-accent); font-weight:500; }
.bl-page h2 { font-size:clamp(2rem,3.7vw,3.2rem); line-height:1.1; }
.bl-page .bl-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.bl-page .btn { min-height:48px; white-space:normal; text-align:center; line-height:1.3; background:var(--bl-accent); }
.bl-page .btn:hover { background:#a83630; }
.bl-page .btn span { font-size:1.2rem; }
.bl-text-link { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; font-size:.875rem; font-weight:700; color:var(--azul); text-decoration:underline; text-underline-offset:5px; }
.bl-text-link:hover { color:var(--bl-accent); }
.bl-hero { padding-top:44px; background:var(--crema); }
.bl-hero__grid { display:grid; grid-template-columns:1fr 1.04fr; gap:48px; align-items:center; }
.bl-hero h1 { font-size:clamp(2.7rem,5.1vw,4.4rem); line-height:1.03; letter-spacing:-.045em; margin:20px 0 22px; max-width:560px; }
.bl-hero h1 em { display:block; }
.bl-hero__copy>p { max-width:470px; font-size:1.125rem; line-height:1.6; color:#555b5d; }
.bl-hero__copy .bl-actions { margin-top:25px; gap:14px 22px; }
.bl-hero__copy .bl-hero__note { margin-top:20px; font-size:.875rem; color:#626568; }
.bl-hero__visual { position:relative; min-width:0; border-radius:120px 18px 18px 18px; overflow:hidden; background:#e9d6c0; }
.bl-hero__visual img { width:100%; height:470px; object-fit:cover; object-position:49% center; }
.bl-hero__visual figcaption { position:absolute; inset:auto 0 0; padding:52px 25px 22px; background:linear-gradient(transparent,rgba(9,30,42,.85)); color:white; }
.bl-hero__visual figcaption span { display:block; font-size:.875rem; }
.bl-hero__visual figcaption strong { font-family:var(--font-display); font-size:1.6rem; font-weight:500; }
.bl-facts { display:grid; grid-template-columns:1fr 1.4fr .85fr; gap:20px; padding:22px 0; margin-top:36px; border-top:1px solid #dfd6cc; }
.bl-facts li { display:flex; align-items:center; gap:12px; font-size:.875rem; color:var(--azul); }
.bl-facts li span { color:var(--bl-accent); font-size:.75rem; font-weight:700; }
.bl-includes { padding:64px 0 0; }
.bl-includes__grid { display:grid; grid-template-columns:.95fr 1fr; gap:80px; align-items:center; }
.bl-food { position:relative; border-radius:18px; overflow:hidden; background:#e6d6c2; }
.bl-food img { width:100%; height:475px; object-fit:cover; }
.bl-food figcaption { position:absolute; left:18px; right:18px; bottom:18px; padding:12px 18px; border-radius:10px; background:#fffbf6; color:#5e666b; font-size:.75rem; }
.bl-food figcaption span { display:block; font-size:1rem; color:var(--azul); font-weight:700; }
.bl-includes__copy h2 { margin:14px 0 18px; }
.bl-includes__copy>p { color:#555b5d; }
.bl-contents { margin-top:22px; }
.bl-contents>div { padding:12px 0; border-bottom:1px solid #e1dcd5; }
.bl-contents dt { display:flex; align-items:center; gap:14px; color:var(--azul); font-weight:700; font-size:1.125rem; }
.bl-contents dt span { color:var(--bl-accent); font-size:.75rem; }
.bl-contents dd { margin-left:32px; color:#555b5d; font-size:.875rem; }
.bl-includes__copy .bl-extra { margin-top:18px; font-size:.875rem; }
.bl-includes__copy .bl-small { font-size:.75rem; margin-top:8px; }
.bl-order { margin-top:48px; padding:28px 0; display:grid; grid-template-columns:1fr 3fr; gap:28px; border-top:1px solid #e1dcd5; border-bottom:1px solid #e1dcd5; }
.bl-order h2 { font-size:1.65rem; }
.bl-order ol { list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.bl-order li { display:flex; gap:10px; }
.bl-order li>span { flex:0 0 24px; height:24px; display:grid; place-items:center; border:1px solid #cabfb4; border-radius:50%; font-size:.75rem; color:var(--bl-accent); }
.bl-order h3 { font-family:var(--font-body); font-size:1rem; line-height:1.4; font-weight:700; }
.bl-order p { margin-top:5px; font-size:.875rem; line-height:1.5; color:#555b5d; }
.bl-questions { padding:55px 0; }
.bl-questions__grid { display:grid; grid-template-columns:1fr 1.8fr; gap:65px; }
.bl-questions h2 { margin-top:14px; }
.bl-faq details { border-bottom:1px solid #dfd9d1; }
.bl-faq summary { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:62px; padding:14px 0; cursor:pointer; font-weight:600; color:var(--azul); list-style:none; line-height:1.4; }
.bl-faq summary::-webkit-details-marker { display:none; }
.bl-faq summary::after { content:'+'; flex-shrink:0; font-size:1.4rem; font-weight:400; color:var(--bl-accent); }
.bl-faq details[open] summary::after { content:'−'; }
.bl-faq details p { padding:0 25px 20px 0; color:#555b5d; }
.bl-faq p a { text-decoration:underline; text-underline-offset:3px; color:var(--azul); }
.bl-shop { padding:0 0 55px; }
.bl-shop__panel { display:grid; grid-template-columns:1.35fr 1fr; overflow:hidden; border-radius:20px; background:var(--azul); }
.bl-shop__copy { padding:40px; }
.bl-shop .bl-kicker { color:#f5b2a6; }
.bl-shop h2 { color:white; margin:16px 0; }
.bl-shop h2 em { color:#f5b2a6; }
.bl-shop p { max-width:450px; color:#e1eaf0; }
.bl-shop .bl-actions { margin-top:24px; gap:8px 20px; }
.bl-shop .bl-text-link { color:white; }
.bl-shop__panel>img { width:100%; height:100%; object-fit:cover; object-position:44% center; }
@media (max-width:1000px) {
  .bl-hero__grid { gap:28px; }
  .bl-includes__grid { gap:40px; }
  .bl-hero__visual img { height:440px; }
  .bl-order { grid-template-columns:1fr; gap:22px; }
  .bl-order h2 br { display:none; }
  .bl-shop__copy { padding:30px; }
}
@media (max-width:700px) {
  .bl-hero { padding-top:26px; }
  .bl-hero__grid { grid-template-columns:1fr; gap:24px; }
  .bl-page .bl-kicker { font-size:.75rem; letter-spacing:.065em; }
  .bl-hero h1 { font-size:clamp(2.65rem,10vw,3.6rem); max-width:500px; margin:14px 0 16px; }
  .bl-hero__copy>p { font-size:1rem; }
  .bl-hero__copy .bl-actions { margin-top:18px; gap:5px; }
  .bl-hero .bl-actions>* { width:100%; }
  .bl-hero__copy .bl-hero__note { margin-top:9px; font-size:.8125rem; }
  .bl-hero__visual { border-radius:60px 14px 14px 14px; }
  .bl-hero__visual img { height:265px; object-position:center 58%; }
  .bl-hero__visual figcaption { padding:35px 18px 16px; }
  .bl-hero__visual figcaption strong { font-size:1.25rem; }
  .bl-facts { grid-template-columns:1fr; gap:10px; margin-top:22px; padding:18px 0; }
  .bl-facts li { font-size:.875rem; gap:10px; }
  .bl-includes { padding-top:34px; }
  .bl-includes__grid { grid-template-columns:1fr; gap:23px; }
  .bl-includes__copy { grid-row:1; }
  .bl-page h2 { font-size:2.15rem; }
  .bl-includes__copy h2 { margin:11px 0 13px; }
  .bl-contents { margin-top:13px; }
  .bl-contents>div { padding:10px 0; }
  .bl-contents dt { font-size:1rem; }
  .bl-food img { height:255px; object-position:center 56%; }
  .bl-food figcaption { left:12px; right:12px; bottom:12px; padding:8px 12px; }
  .bl-order { margin-top:28px; padding:24px 0; gap:18px; }
  .bl-order h2 { font-size:1.6rem; }
  .bl-order ol { grid-template-columns:1fr; gap:16px; }
  .bl-order p { margin-top:2px; }
  .bl-questions { padding:32px 0; }
  .bl-questions__grid { grid-template-columns:1fr; gap:18px; }
  .bl-questions h2 { margin-top:10px; }
  .bl-questions h2 br { display:none; }
  .bl-faq summary { min-height:62px; font-size:1rem; }
  .bl-shop { padding-bottom:32px; }
  .bl-shop__panel { grid-template-columns:1fr; }
  .bl-shop__copy { padding:25px 22px; }
  .bl-shop__panel>img { height:175px; object-position:center 56%; }
  .bl-shop .bl-actions>* { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  .bl-page *, .bl-page *::before, .bl-page *::after { scroll-behavior:auto; transition:none; animation:none; }
}
