/* Article-body layout only: inherit the site's typography, colours and chrome. */
.cas-aicg-standard-layout { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.cas-aicg-standard-layout table { display:block; max-width:100%; overflow-x:auto; overflow-wrap:normal; word-break:normal; }
.cas-aicg-standard-layout img { max-width:100%; height:auto; }
.cas-aicg-standard-layout .wp-block-image { width:100%; max-width:100%; margin-inline:0; }
.cas-aicg-standard-layout .wp-block-image img { display:block; width:100%; height:auto; }
.cas-aicg-classic-layout { width:100%; max-width:1170px; margin-inline:auto; }
.cas-aicg-classic-layout .cas-aicg-classic-owned { box-sizing:border-box; min-width:0; }
.cas-aicg-classic-layout > .cas-aicg-classic-owned + .cas-aicg-classic-owned { margin-top:2rem; }
.cas-aicg-classic-layout .cas-aicg-classic-section > :first-child { margin-top:0; }
.cas-aicg-classic-layout .cas-aicg-classic-section > :last-child { margin-bottom:0; }
.cas-aicg-classic-layout img { display:block; width:100%; height:auto; }
.cas-aicg-classic-layout figure { margin-inline:0; max-width:100%; }
.cas-aicg-classic-layout .cas-aicg-classic-columns,
.cas-aicg-classic-layout .cas-aicg-classic-media-row,
.cas-aicg-classic-layout .cas-aicg-classic-magazine-row,
.cas-aicg-classic-layout .cas-aicg-classic-guide-row { display:grid; gap:clamp(1.25rem,3vw,2.5rem); align-items:start; }
.cas-aicg-classic-layout .cas-aicg-classic-cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cas-aicg-classic-layout .cas-aicg-classic-cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.cas-aicg-classic-layout .cas-aicg-custom-row { grid-template-columns:var(--cas-custom-columns,minmax(0,1fr)); }
.cas-aicg-classic-layout .cas-aicg-classic-image-right { grid-template-columns:minmax(0,3fr) minmax(0,2fr); }
.cas-aicg-classic-layout .cas-aicg-classic-image-left { grid-template-columns:minmax(0,2fr) minmax(0,3fr); }
.cas-aicg-classic-layout .cas-aicg-classic-image-left > .cas-aicg-classic-image { grid-column:1; grid-row:1; }
.cas-aicg-classic-layout .cas-aicg-classic-image-left > .cas-aicg-classic-copy { grid-column:2; grid-row:1; }
.cas-aicg-classic-layout .cas-aicg-classic-magazine-row { grid-template-columns:minmax(0,7fr) minmax(0,3fr); }
.cas-aicg-classic-layout .cas-aicg-classic-guide-row { grid-template-columns:minmax(0,28fr) minmax(0,72fr); }
/* Guide chapters keep the heading with the full-width body; images do not become oversized banners. */
.cas-aicg-guide-chapter { min-width:0; }
.cas-aicg-guide-chapter > figure,
.cas-aicg-guide-chapter > .wp-block-image,
.elementor .cas-aicg-guide-chapter .elementor-widget.elementor-widget-image { width:100%; max-width:560px; margin-inline:auto; }
.cas-aicg-guide-chapter > figure img,
.cas-aicg-guide-chapter > .wp-block-image img,
.cas-aicg-guide-chapter .elementor-widget-image img { max-width:100%; height:auto; }
.cas-aicg-classic-layout .cas-aicg-classic-main > .cas-aicg-classic-owned + .cas-aicg-classic-owned,
.cas-aicg-classic-layout .cas-aicg-classic-sidebar > .cas-aicg-classic-owned + .cas-aicg-classic-owned { margin-top:2rem; }
.cas-aicg-classic-cards .cas-aicg-classic-columns > .cas-aicg-classic-section { border:1px solid currentColor; border-radius:.5rem; padding:1.25rem; }
.cas-aicg-classic-layout .cas-aicg-classic-table-scroll { max-width:100%; overflow-x:auto; }
.cas-aicg-classic-layout .cas-aicg-classic-table-scroll table { margin-block:0; }
.cas-aicg-classic-layout .cas-aicg-classic-slot,
.cas-aicg-classic-layout .cas-aicg-classic-placeholder,
.cas-aicg-magazine-slot-toc,
[class*="cas-aicg-magazine-slot-image-"],
[class*="cas-aicg-rhythm-slot-image-"],
[class*="cas-aicg-spotlight-slot-image-"] { display:none; }
@media (max-width:767px) {
 .cas-aicg-classic-layout .cas-aicg-classic-columns,
 .cas-aicg-classic-layout .cas-aicg-classic-media-row,
 .cas-aicg-classic-layout .cas-aicg-classic-magazine-row,
 .cas-aicg-classic-layout .cas-aicg-classic-guide-row { grid-template-columns:minmax(0,1fr); }
 .cas-aicg-classic-layout .cas-aicg-classic-image-left > .cas-aicg-classic-image { grid-column:1; grid-row:1; }
 .cas-aicg-classic-layout .cas-aicg-classic-image-left > .cas-aicg-classic-copy { grid-column:1; grid-row:2; }
}

/* Publisher-owned references keep their selected row layout in Classic and blocks. */
.cas-aicg-reference-links:not(.elementor-element) .cas-aicg-reference-row { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; align-items:start; margin-block:0 24px; }
.cas-aicg-reference-links:not(.elementor-element) .cas-aicg-reference-columns-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cas-aicg-reference-links:not(.elementor-element) .cas-aicg-reference-columns-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.cas-aicg-reference-links:not(.elementor-element) .cas-aicg-reference-row > .cas-aicg-reference-section { min-width:0; overflow-wrap:anywhere; margin:0; }
.cas-aicg-reference-section > :first-child,
.cas-aicg-reference-section > .cas-aicg-social-links > :first-child { margin-top:0; }
@media (min-width:782px) {
 /* Native Column widths remain editable; rows without explicit widths use the default grid. */
 .cas-aicg-reference-links:not(.elementor-element) .cas-aicg-reference-columns-3:has(> .cas-aicg-reference-section[style*="flex-basis"]) { display:flex; flex-wrap:nowrap; }
 .cas-aicg-reference-links:not(.elementor-element) .cas-aicg-reference-columns-3 > .cas-aicg-reference-section[style*="flex-basis"] { flex-shrink:1; }
}
@media (max-width:767px) {
 .cas-aicg-reference-links:not(.elementor-element) .cas-aicg-reference-row { grid-template-columns:minmax(0,1fr); }
}
/* Article-owned product details also travel with the exported portable styles. */
.cas-aicg-product-design { margin-block:2em; }
.cas-aicg-product-card { margin-block:1.5em; padding:1.25em; border:1px solid #cbd5e1; border-radius:12px; }
.cas-aicg-product-card > :first-child { margin-top:0; }
.cas-aicg-product-card > :last-child { margin-bottom:0; }
.cas-aicg-product-card .cas-aicg-product-photo img { max-width:100%; height:auto; object-fit:contain; }
.cas-aicg-product-gallery:not(.elementor-element) { display:grid!important; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:20px; margin-block:1.25em; }
.cas-aicg-product-gallery:not(.elementor-element) > figure { margin:0; width:100% !important; min-width:0; }
.cas-aicg-product-gallery img { width:100%; height:auto; object-fit:contain; }
.cas-aicg-product-gallery figcaption { font-size:.875em; line-height:1.45; margin-top:.5em; }
.cas-aicg-product-facts, .cas-aicg-product-comparison { max-width:100%; overflow-x:auto; }
.cas-aicg-product-facts table, .cas-aicg-product-comparison table { width:100%; border-collapse:collapse; }
.cas-aicg-product-facts :is(th,td), .cas-aicg-product-comparison :is(th,td) { padding:.7em .9em; border:1px solid #cbd5e1; text-align:left; vertical-align:top; }
.cas-aicg-product-comparison th:not(:first-child), .cas-aicg-product-comparison td { min-width:150px; }
.cas-aicg-product-actions { display:flex; flex-wrap:wrap; gap:12px; margin-block:1.25em; }
.cas-aicg-product-actions > a, .cas-aicg-product-action .wp-block-button__link, .cas-aicg-product-action .elementor-button {
 display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.75em 1.3em; box-sizing:border-box; border-radius:6px; border:1px solid #0b5faa; background:#0b5faa; color:#fff; text-decoration:none; font-weight:700; line-height:1.3; white-space:normal;
}
.cas-aicg-product-actions > a:hover, .cas-aicg-product-action .wp-block-button__link:hover, .cas-aicg-product-action .elementor-button:hover { background:#084c89; color:#fff; }
.cas-aicg-product-actions a:focus-visible, .cas-aicg-product-action a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
@media (max-width:600px) {
.cas-aicg-product-gallery:not(.elementor-element) { grid-template-columns:minmax(0,1fr); grid-auto-flow:row; grid-auto-columns:auto; }
 .cas-aicg-product-card { padding:1em; }
 .cas-aicg-product-actions > a, .cas-aicg-product-actions > .wp-block-button { width:100%; }
 .cas-aicg-product-actions .wp-block-button__link { width:100%; }
}
