/* CRUCERO Content Commerce — intentionally scoped to avoid TagDiv/Newspaper conflicts. */
.cru-cc-wrap { --cru-ink:#172536;--cru-faint:#687584;--cru-stroke:#dfe5ea;--cru-accent:#d9622e; color:var(--cru-ink); border:1px solid var(--cru-stroke); background:#fff; border-radius:0; padding:20px; margin:28px 0; font-family:Verdana,Geneva,Tahoma,sans-serif!important;container-type:inline-size; }
.cru-cc-wrap * {box-sizing:border-box}
.cru-cc-heading {display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 16px}
.cru-cc-heading .cru-cc-block-title{font-size:20px;line-height:1.3;color:var(--cru-ink);font-weight:700;margin:6px 0 0;padding:0}
.cru-cc-ad{font-size:11px;line-height:1.4;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--cru-faint)}
.cru-cc-brand{font-size:12px;color:var(--cru-faint);white-space:nowrap}
.cru-cc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cru-cc-card{border:1px solid var(--cru-stroke);border-radius:0;overflow:hidden;background:#fff;min-width:0;display:flex;flex-direction:column}
.cru-cc-visual{aspect-ratio:16/9;background:#f1f4f6;overflow:hidden}
.cru-cc-visual img{display:block;width:100%;height:100%;object-fit:cover;max-width:none}
.cru-cc-placeholder{display:flex;justify-content:center;align-items:center;background:linear-gradient(120deg,#e9edf1,#d7e2ec);color:#6e7d89;letter-spacing:.18em;font-size:11px;font-weight:700}
.cru-cc-content{padding:14px;display:flex;flex-direction:column;flex:1;gap:8px}
.cru-cc-meta{font-size:12px;color:var(--cru-faint);font-weight:600}
.cru-cc-content .cru-cc-offer-title{font-size:15px;line-height:1.35;font-weight:700;color:var(--cru-ink);margin:0;padding:0;min-height:2.7em}
.cru-cc-details{font-size:12px;line-height:1.5;color:var(--cru-faint);margin:0}
.cru-cc-price{font-size:22px;line-height:1.3;font-weight:750;letter-spacing:-.02em;color:var(--cru-ink);margin:4px 0 0}
.cru-cc-price span{font-size:12px;font-weight:400;letter-spacing:normal;white-space:nowrap}
.cru-cc-wrap .cru-cc-cta{display:block;text-align:center;background:var(--cru-ink);color:#fff!important;text-decoration:none!important;border-radius:0;padding:10px 8px;font-size:13px;line-height:1.35;font-weight:700;margin-top:auto}
.cru-cc-wrap .cru-cc-cta:hover,.cru-cc-wrap .cru-cc-cta:focus{background:#32465b;color:#fff!important;text-decoration:none!important}
.cru-cc-footnote{font-size:11px;line-height:1.5;color:var(--cru-faint);margin:14px 0 0!important}
@media(max-width:900px){.cru-cc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.cru-cc-wrap{padding:14px;margin:20px 0}.cru-cc-grid{grid-template-columns:1fr}.cru-cc-heading{align-items:flex-start;flex-direction:column;gap:5px}.cru-cc-brand{display:none}.cru-cc-card{display:grid;grid-template-columns:34% 66%}.cru-cc-visual{aspect-ratio:auto;min-height:175px}.cru-cc-content{padding:12px}.cru-cc-content .cru-cc-offer-title{min-height:0}.cru-cc-price{font-size:20px}}
@media(prefers-color-scheme:dark){.cru-cc-wrap{--cru-ink:#e8eef3;--cru-faint:#b9c6d1;--cru-stroke:#495967;background:#19232d}.cru-cc-card{background:#1e2b37}.cru-cc-wrap .cru-cc-cta{background:#b94d22;color:white!important}.cru-cc-wrap .cru-cc-cta:hover{background:#d66538}}

/* 0.1.5: Preserve Verdana typography against Newspaper headline and body styles. */
.cru-cc-wrap,.cru-cc-wrap * {font-family:Verdana,Geneva,Tahoma,sans-serif!important;}
.cru-cc-wrap .cru-cc-heading .cru-cc-block-title {font-size:20px!important;line-height:1.35!important;letter-spacing:0!important;}
.cru-cc-wrap .cru-cc-content .cru-cc-offer-title {font-size:15px!important;line-height:1.45!important;letter-spacing:0!important;font-weight:700!important;overflow-wrap:break-word!important;word-break:normal!important;hyphens:auto;}
.cru-cc-wrap .cru-cc-details,.cru-cc-wrap .cru-cc-meta {font-size:12px!important;line-height:1.45!important;}
.cru-cc-wrap .cru-cc-price {font-size:21px!important;line-height:1.3!important;}
.cru-cc-wrap .cru-cc-price span {font-size:12px!important;}
.cru-cc-wrap .cru-cc-cta {font-size:12px!important;line-height:1.4!important;}
.cru-cc-wrap .cru-cc-grid,.cru-cc-wrap .cru-cc-card,.cru-cc-wrap .cru-cc-content{min-width:0;}
/* Adapt to ARTICLE COLUMN width, not the browser's viewport. */
@container (max-width:860px) {
  .cru-cc-wrap .cru-cc-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@container (max-width:700px) {
  .cru-cc-wrap .cru-cc-grid {grid-template-columns:minmax(0,1fr);gap:12px;}
  .cru-cc-wrap .cru-cc-card {display:grid;grid-template-columns:minmax(0,35%) minmax(0,65%);}
  .cru-cc-wrap .cru-cc-visual {height:100%;min-height:172px;aspect-ratio:auto;}
  .cru-cc-wrap .cru-cc-content {padding:12px;gap:6px;}
  .cru-cc-wrap .cru-cc-content .cru-cc-offer-title {min-height:0;font-size:14px!important;}
  .cru-cc-wrap .cru-cc-price {font-size:19px!important;}
}
@container (max-width:390px) {
  .cru-cc-wrap .cru-cc-card {grid-template-columns:minmax(0,32%) minmax(0,68%);}
  .cru-cc-wrap .cru-cc-content {padding:9px;}
  .cru-cc-wrap .cru-cc-cta {padding:8px 6px;font-size:11px!important;}
  .cru-cc-wrap .cru-cc-price {font-size:17px!important;}
}

/* 0.1.6: With title omitted, keep mandatory ad label and optional brand compact. */
.cru-cc-wrap .cru-cc-heading--without-title {align-items:center;margin-bottom:10px;}

/* 0.1.7: Do not inherit global Newspaper h3/h4 font families or condensed display fonts. */
.cru-cc-wrap .cru-cc-block-title,
.cru-cc-wrap .cru-cc-offer-title {
  font-family:Verdana,Geneva,Tahoma,sans-serif!important;
  font-stretch:normal!important;
  font-variation-settings:normal!important;
  font-style:normal!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  font-weight:700!important;
}

/* Public-facing affiliate consent gate (only visible until an existing RCB opt-in). */
.cru-cc-consent-gate {max-width:100%; margin:24px 0; font-family:Verdana,Geneva,Tahoma,sans-serif;}
.cru-cc-consent-gate .cru-cc-wrap {margin:0;}
.cru-cc-consent-prompt {font-family:Verdana,Geneva,Tahoma,sans-serif; border:1px solid #dfe5ea; border-radius:0; padding:16px 18px; background:#fff; color:#172536;}
.cru-cc-consent-prompt[hidden] {display:none!important;}
.cru-cc-consent-label {display:block; color:#697788; font-size:10px; letter-spacing:.06em; text-transform:uppercase; font-weight:700; margin-bottom:7px;}
.cru-cc-consent-headline {font-family:Verdana,Geneva,Tahoma,sans-serif!important; color:#172536; font-size:15px; font-weight:700; line-height:1.45; margin-bottom:5px;}
.cru-cc-consent-explainer {font-size:12px; line-height:1.55; color:#596b7d; margin-bottom:12px;}
.cru-cc-consent-settings {display:inline-block; color:#fff!important; background:#172536; font-size:12px!important; font-weight:700; text-decoration:none!important; border-radius:0; padding:9px 14px;}
.cru-cc-consent-settings:hover,.cru-cc-consent-settings:focus {background:#32465b;color:#fff!important;}

/* Prevent brief consent-prompt flash before RCB state is known. */
.cru-cc-consent-gate:not([data-cru-consent-active]) .cru-cc-consent-prompt{visibility:hidden;}

.cru-cc-wrap .cru-cc-no-price{font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:11px;line-height:1.45;color:#576a80;margin:3px 0 0;}

/* v1.1.4 – CRUCERO editorial design: rectangular frames and buttons throughout. */
.cru-cc-wrap,
.cru-cc-wrap .cru-cc-card,
.cru-cc-wrap .cru-cc-visual,
.cru-cc-wrap .cru-cc-visual img,
.cru-cc-wrap .cru-cc-cta,
.cru-cc-consent-gate .cru-cc-consent-prompt,
.cru-cc-consent-gate .cru-cc-consent-settings {border-radius:0!important;}

/* v1.1.5: TagDiv places inline display ads after paragraphs 1/4/6. When the
   final ad sits below the last short paragraph, reserve an independent flow
   row so the automatic article-end affiliate module cannot flank a float. */
.cru-cc-article-end {
  display: flow-root;
  clear: both;
  width: 100%;
  max-width: 100%;
  position: relative;
  padding-top: 20px;
}
.cru-cc-article-end::before {
  content: "";
  display: table;
  clear: both;
}
.cru-cc-article-end > .cru-cc-consent-gate,
.cru-cc-article-end > .cru-cc-wrap {
  margin-top: 0;
}
