/* WordPress adaptations of the Astro design system (arctic.css stays a 1:1 copy of the Astro global.css). */
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * { margin-block: 0 !important; }
.am-part { display: contents; } /* template-part wrappers must not break the sticky/fixed header */
main#main.bleed > .wp-block-post-content > * { margin-block: 0; }
main#main.bleed > .wp-block-post-content > .container { margin-inline: auto; }
.wp-block-post-content > .container, .bleed .container { max-width: var(--maxw); }
.skip-link.visually-hidden-focusable { position: absolute; left: -999px; top: 8px; background: var(--ink); color: #fff; padding: 8px 12px; z-index: 100; }
.skip-link.visually-hidden-focusable:focus { left: 8px; }
.wp-block-post-title { margin-top: 0; }
:where(.wp-block-post-content) > :where(.intro, .section, .split, .chips, .grid, .viz-bar) { margin-block-start: 0; }
.prose > .wp-block-post-content > * + * { margin-block-start: 1em; }
.pdp-summary p { color: #3b3f43; margin: 0 0 18px; }
.pdp-info .wp-block-post-title { margin-bottom: .3em; }
.am-pdp-buy .details { margin-top: 18px; }
img { max-width: 100%; height: auto; }
.hub-media img, .hs-img, .banner > img, .split-media img, .svc-media img, .tv-media img, .app-shot img, .proj-media img { height: 100%; }
.wp-block-group.faq details { border-bottom: 1px solid var(--line); }
/* core/details used for FAQ: match the Astro FAQ */
.faq .wp-block-details { border-bottom: 1px solid var(--line); padding: 14px 0; }
.faq .wp-block-details summary { cursor: pointer; font-weight: 600; }
.faq .wp-block-details > :not(summary) { margin: 10px 0 0; color: var(--muted); }
/* buttons from the core Buttons block look like Astro .btn */
.wp-block-button .wp-block-button__link { font-family: var(--sans); }
.wp-block-button.is-style-glow .wp-block-button__link { background: var(--aurora); color: var(--fjord); box-shadow: 0 10px 30px -10px rgba(79,209,169,.55); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--ink); border: 1px solid var(--ink); }
.wp-block-group.is-style-panel { background: var(--card); border: 1px solid var(--line); border-radius: var(--r-md); padding: clamp(18px, 3vw, 32px); }
.wp-block-list.is-style-ticks { list-style: none; padding: 0; }
.wp-block-list.is-style-ticks li { padding-left: 1.5em; position: relative; }
.wp-block-list.is-style-ticks li::before { content: '✓'; position: absolute; left: 0; color: var(--accent); }
/* split blocks with a form on the right (contractor enquiry, promo quote) */
.split.split-form { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: start; }
.split.split-form > .split-text { display: contents; }
@media (max-width: 899px) { .split.split-form { grid-template-columns: 1fr; } }
/* WooCommerce classic cart / checkout / account in the Arctic look */
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .woocommerce #respond input#submit {
  background: var(--ink) !important; color: #fff !important; border-radius: 999px !important; font: 600 .76rem/1 var(--sans) !important; letter-spacing: .16em; text-transform: uppercase; padding: 15px 28px !important; border: 0 !important; }
.woocommerce .button.alt, .woocommerce #place_order, .woocommerce a.checkout-button { background: var(--aurora) !important; color: var(--fjord) !important; }
.woocommerce table.shop_table { border-radius: var(--r-md); border-color: var(--line); background: var(--card); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce .quantity .qty, .select2-container .select2-selection--single {
  background: var(--field); border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px; min-height: 46px; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-top-color: var(--accent) !important; background: var(--card) !important; }
.woocommerce-checkout #payment { background: var(--card) !important; border-radius: var(--r-md); }
.woocommerce .col2-set, .woocommerce-page .col2-set { margin-bottom: 24px; }
/* editor: show slides stacked, tiles at their grid size */
.editor-styles-wrapper .am-ed-hero { height: auto; min-height: 0; overflow: visible; background: var(--fjord); }
.editor-styles-wrapper .am-ed-slides { position: relative; inset: auto; display: grid; gap: 12px; padding: 12px; }
.editor-styles-wrapper .am-ed-slides .hs-slide { position: relative; opacity: 1; visibility: visible; min-height: 420px; }
.editor-styles-wrapper .am-ed-slides .hs-slide .hs-eyebrow, .editor-styles-wrapper .am-ed-slides .hs-slide .hs-title, .editor-styles-wrapper .am-ed-slides .hs-slide .hs-text, .editor-styles-wrapper .am-ed-slides .hs-slide .btn { opacity: 1; transform: none; animation: none; }
.editor-styles-wrapper .am-ed-slides .hs-content { position: absolute; }
.editor-styles-wrapper .am-ed-ssr > div, .editor-styles-wrapper .am-ed-tile article, .editor-styles-wrapper .am-ed-weather section { height: 100%; }
.editor-styles-wrapper .am-ed-ssr dialog { display: none; }
.editor-styles-wrapper .hub-tile .hub-cap, .editor-styles-wrapper .hub-tile .hub-chips { opacity: 1; transform: none; }
.editor-styles-wrapper .am-ed-loading { min-height: 120px; display: grid; place-items: center; background: var(--media-soft); border-radius: var(--r-md); }
.editor-styles-wrapper [data-reveal] { opacity: 1 !important; translate: none !important; }
.editor-styles-wrapper .site-header.overlay { position: relative; background: var(--fjord); }
.editor-styles-wrapper .am-ed-container.svc-grid > .block-list-appender, .editor-styles-wrapper .am-ed-container.bento > .block-list-appender { align-self: center; }

/* editor: full-width design sections (the front end has no content width on page-full/front-page) */
.editor-styles-wrapper .is-root-container > [data-type^="arctic/"],
.editor-styles-wrapper .is-root-container > [data-type="core/group"],
.editor-styles-wrapper .is-root-container > [data-type="core/cover"] { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.editor-styles-wrapper .am-ed-slides .hs-content { position: relative; inset: auto; padding: 48px 32px; }
.editor-styles-wrapper .am-ed-slides .hs-slide { display: flex; align-items: flex-end; }
