/* CVF approved Alpine Workshop shared component contract. */
.cvf-global-header{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:24px clamp(20px,4vw,60px)!important;max-width:1440px;margin:0 auto!important;background:#10191f;color:#f3f7f9;border-radius:0 0 16px 16px}
.cvf-global-header .brand{font:700 26px/1.02 "Bricolage Grotesque",sans-serif;letter-spacing:-1px;text-decoration:none;white-space:nowrap}.cvf-global-header .brand strong{color:#dcf34d}
.cvf-global-header .brand{min-width:0!important}
.cvf-global-header .cvf-primary-nav{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:18px;align-items:center}.cvf-primary-nav a{font:500 15px/1.4 "DM Sans",sans-serif;text-decoration:none;color:#f3f7f9;padding:8px 0}.cvf-primary-nav a:hover{text-decoration:underline;text-underline-offset:6px;color:#dcf34d}
.cvf-menu-button{display:none;background:transparent;color:#f3f7f9;border:1px solid #52636c;border-radius:10px;padding:10px 14px;min-height:44px;font:600 15px "DM Sans",sans-serif}.cvf-global-header .search-link{margin:0;min-height:44px;display:flex;align-items:center;padding:10px 14px;border:1px solid #52636c;border-radius:10px;text-decoration:none}.cvf-global-header .cvf-social{grid-column:2/4;justify-self:end;position:static;margin:0!important}
.cvf-catalog-subnav{max-width:1280px;margin:16px auto;padding:0 clamp(20px,4vw,60px);display:flex;flex-wrap:wrap;gap:20px;font-size:14px}.cvf-catalog-subnav a{color:#52636c}
.shell:has(>.cvf-global-header){width:100%;max-width:none;margin:0}.shell:has(>.cvf-global-header)>main,.shell:has(>.cvf-global-header)>.breadcrumbs{max-width:1280px;margin-inline:auto;padding-inline:clamp(20px,4vw,60px)}
.cvf-global-footer{max-width:1440px;margin:64px auto 0!important;padding:40px clamp(20px,4vw,60px)!important;background:#10191f;color:#f3f7f9;border-radius:16px 16px 0 0;display:block!important}.cvf-global-footer .cvf-footer-top{display:flex;align-items:start;justify-content:space-between;gap:28px;flex-wrap:wrap}.cvf-global-footer .brand{font:700 26px/1.02 "Bricolage Grotesque",sans-serif;letter-spacing:-1px;text-decoration:none}.cvf-global-footer .brand strong{color:#dcf34d}.cvf-global-footer p{color:#bdccd2;max-width:60ch}.cvf-global-footer nav{display:flex;flex-wrap:wrap;gap:14px 24px}.cvf-global-footer a{color:#f3f7f9}.cvf-global-footer .cvf-social{position:static;margin:24px 0!important;justify-content:flex-start}.cvf-global-footer .cvf-footer-categories{margin:24px 0;border-top:1px solid #3a4b54;padding-top:16px;background:transparent;color:#f3f7f9}.cvf-footer-categories summary{font-weight:600;cursor:pointer}.cvf-footer-categories nav{padding-top:16px}.cvf-global-footer .cvf-amazon-disclosure{font-size:12px;margin:20px 0 0}
.cvf-toc{background:#e7eef0!important;border:1px solid #dce4e6!important;border-radius:14px!important;padding:20px!important;color:#10191f!important;text-align:left}.cvf-toc>details{padding:0!important;border:0!important;background:transparent!important;box-shadow:none}.cvf-toc summary{font:700 16px/1.4 "Bricolage Grotesque",sans-serif;cursor:pointer;color:#10191f}.cvf-toc ol{display:block!important;list-style:decimal!important;margin:16px 0 0!important;padding:0 0 0 24px!important;columns:auto!important;counter-reset:none!important}.cvf-toc li{display:list-item!important;list-style:decimal!important;padding:0 0 0 2px!important;margin:0 0 12px!important;border:0!important;line-height:1.55;font-size:14px}.cvf-toc li::before{display:none!important}.cvf-toc li::marker{color:#10191f;font-weight:500}.cvf-toc a{display:inline!important;padding:0!important;border:0!important;background:none!important;color:#10191f!important;text-decoration:underline!important;text-underline-offset:3px;font-weight:400!important;word-break:normal;overflow-wrap:normal}
main :is(.product-card,.cvf-catalog-card,.guide-card,.project-card,.category-link,.resource-video-card){border:1px solid #dce4e6;border-radius:16px;background:#fff;overflow:hidden;min-width:0}
main .product-card,main .item-purchase-hero .aside>.product-card{display:flex;flex-direction:column}
main .product-card .product-image{display:grid;place-items:center;background:white;width:min(100%,300px);height:auto;aspect-ratio:1;min-height:0;padding:20px;margin-inline:auto}
main .product-card .product-image img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;align-self:center}
main :is(.product-copy,.card-copy){padding:24px}main .product-copy h3{font-size:20px;line-height:1.3}main .product-copy p{font-size:15px;line-height:1.7;color:#52636c}
main :is(.button,.ws-button,.cvf-ed-action,.primary-action,button[type=submit]){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 18px;border:1px solid #dcf34d;border-radius:10px;background:#dcf34d;color:#10191f;font:700 15px/1.45 "DM Sans",sans-serif;text-decoration:none;max-width:100%;white-space:normal;word-break:normal}
main :is(.button-secondary,.button.light){background:#fff;border-color:#8b9ba2;color:#10191f}main :is(.button,.ws-button,.cvf-ed-action):hover{background:#e6f775;border-color:#10191f}
main table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;border:1px solid #dce4e6;border-radius:10px;margin:24px 0;font-size:15px;line-height:1.6;background:#fff}main th{background:#e7eef0!important;color:#10191f!important;font-weight:700;text-align:left}main :is(td,th){padding:14px 16px!important;border-bottom:1px solid #dce4e6!important;vertical-align:top}main td{background:#fff!important;color:#10191f!important}main caption{text-align:left;padding:12px 0;color:#52636c}
main :is(.library-row,.resource-link){border:1px solid #dce4e6;border-radius:12px;padding:22px;background:white;margin-bottom:14px}
main :is(.article-body,.prose,.content-section){text-indent:0}main :is(p,li){line-height:1.75}main :is(.article-body,.prose)>p{margin-block:0 24px}
main figure{max-width:100%;margin:28px 0}main figure img{max-width:100%;height:auto;border-radius:12px}main figcaption{font:400 14px/1.6 "DM Sans",sans-serif;color:#52636c;margin:10px 0 0}main video{display:block;max-width:100%;height:auto;object-fit:contain;background:#10191f;border-radius:12px}main video[preload=none]{content-visibility:auto}
main :is(.breadcrumbs,.breadcrumb,.byline,.meta){font:400 14px/1.6 "DM Sans",sans-serif;color:#52636c;overflow-wrap:normal;word-break:normal}main :is(.breadcrumbs,.breadcrumb){margin-block:24px}
main :is(.asset-note,.technical-review-note,.lesson){background:#e7eef0;color:#10191f;padding:20px;border:1px solid #dce4e6;border-radius:12px}
main details:not(.cvf-toc):not(.cvf-footer-categories){border-radius:12px}main details:not(.cvf-toc)>summary{padding-block:12px;font-weight:600;line-height:1.5}
main :is(input,select,textarea){font:400 16px/1.5 "DM Sans",sans-serif;border:1px solid #8b9ba2;border-radius:10px;background:#fff;color:#10191f;max-width:100%;padding:10px 12px}main .filters{gap:16px;align-items:end}
:focus-visible{outline:3px solid #10191f;outline-offset:4px;box-shadow:0 0 0 6px #dcf34d}.cvf-global-header :focus-visible,.cvf-global-footer :focus-visible{outline-color:#f3f7f9}
@media(max-width:1000px){.cvf-global-header{grid-template-columns:1fr auto auto}.cvf-menu-button{display:block}.cvf-primary-nav{display:none!important;grid-column:1/-1;justify-content:flex-start!important}.cvf-primary-nav.is-open{display:flex!important;flex-direction:column;align-items:stretch}.cvf-primary-nav a{padding:12px 0}.cvf-global-header .cvf-social{grid-column:1/-1;justify-self:start}.cvf-toc{position:static!important;max-height:none!important;overflow:visible!important}}
@media(max-width:760px){.cvf-global-header .brand{font-size:23px}.cvf-global-header{gap:12px}.cvf-global-footer{margin-top:40px!important}.cvf-toc{padding:18px!important}main :is(.product-copy,.card-copy){padding:20px}main :is(td,th){padding:10px 12px!important}.shell:has(>.cvf-global-header)>main,.shell:has(>.cvf-global-header)>.breadcrumbs{padding-inline:20px}.cvf-footer-top nav{flex-direction:column}main figure{margin-block:24px}}
@media(max-width:400px){.cvf-global-header{gap:8px;padding:20px 16px!important}.cvf-global-header .brand{font-size:21px}.cvf-global-header .cvf-menu-button,.cvf-global-header .search-link{padding:8px 10px;font-size:14px}}
@media print{.cvf-global-header,.cvf-global-footer,.cvf-catalog-subnav{display:none!important}.cvf-toc{break-inside:avoid}main table{overflow:visible}}
