/*
Theme Name: ChipFix
Description: Lett blokktema for chipfix.no. Farger, skrift og størrelser ligger i theme.json.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: chipfix
*/

/* Rytme: første blokk får luft under headeren, helbredde seksjoner får jevn avstand. */
main > :first-child:not(.alignfull),
.wp-block-post-content > :first-child:not(.alignfull) { margin-top: var(--wp--preset--spacing--50); }
.wp-block-post-content > .alignfull { margin-block: var(--wp--preset--spacing--50); }
.wp-block-post-content > .alignfull:first-child { margin-top: 0; }
.wp-block-post-content > .alignfull:last-child { margin-bottom: 0; }

/* Header */
.site-header { padding-block: 15px; }
.site-header__brand { gap: 1rem; }
.site-header .wp-block-navigation__submenu-container { border-color: var(--wp--preset--color--border); }
.cart-link {
	display: inline-flex; align-items: center; gap: 0.5rem; box-sizing: border-box; width: 60px; height: 57px; justify-content: center; padding: 0;
	border: 2px solid var(--wp--preset--color--primary); border-radius: 4px;
	color: var(--wp--preset--color--primary); font-weight: 600; text-decoration: none;
}
.cart-link:hover { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--white); text-decoration: none; }

/* Footer */
.site-footer { margin-top: 0; padding-block: 1.25rem; border-top: 4px solid var(--wp--preset--color--primary); }
.site-footer p { margin-block: 0.5rem 0; }

/* Innhold */
.wp-block-media-text__content > :first-child { margin-top: 0; }
.wp-block-details { padding: 0; font-size: var(--wp--preset--font-size--small); }
.wp-block-details > :not(summary) { margin-inline: 1.25rem; }
.wp-block-details + .wp-block-details { margin-top: -1px; }
.wp-block-details summary { padding: 0.9375rem 1.25rem; font-weight: 700; cursor: pointer; }
.wp-block-details[open] > summary { padding-bottom: 0.5rem; }
.wp-block-details[open] > :last-child { margin-bottom: 1rem; }
.wp-block-cover.alignfull .wp-block-cover__inner-container { max-width: var(--wp--style--global--content-size); margin-inline: auto; }

/* Produkt */
.product-top { gap: var(--wp--preset--spacing--40); }
.wp-block-add-to-cart-form .quantity input { width: 4rem; padding: 0.6rem 0.5rem; border: 1px solid var(--wp--preset--color--border); border-radius: 4px; }
.wp-block-add-to-cart-form form.cart { display: flex; gap: 0.75rem; align-items: stretch; }
.wc-block-components-product-price, .wc-block-components-product-price__value { font-weight: 600; }
.wc-block-product-template { gap: var(--wp--preset--spacing--30); }
.woocommerce-product-gallery { opacity: 1 !important; margin: 0; }
.woocommerce-product-gallery__wrapper { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; margin: 0; }
.woocommerce-product-gallery__image:first-child { grid-column: 1 / -1; }
.woocommerce-product-gallery__image:not(:first-child) { cursor: pointer; }
.woocommerce-product-gallery__image img { display: block; width: 100%; height: auto; border-radius: 6px; }
.woocommerce-product-gallery__trigger { display: none; }
.hero { margin: 0; }
.hero img { display: block; width: 100%; height: auto; }
.wp-block-cover:not(.is-style-neon) :is(h1, h2, h3, h4, h5, h6) { color: inherit; }
.wp-block-cover:not(.is-style-neon) a { color: inherit; text-decoration: underline; }
.site-header .wp-block-site-logo img { width: clamp(90px, 28vw, 120px); height: auto; }

/* Skjema: blå-til-hvit boks som originalen */
.contact-form {
	box-sizing: border-box; padding: 18px 26px 8px; border: 1px solid var(--wp--preset--color--tekst); border-radius: 14px;
	background: linear-gradient(180deg, #9ab7dc 17%, #fff 100%); box-shadow: 7px 7px 4px rgba(0, 0, 0, 0.5);
	font-size: var(--wp--preset--font-size--small);
}
.contact-form p, .contact-form fieldset { margin: 0 0 20px; }
.contact-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.contact-form__half { max-width: 60%; }
.contact-form label, .contact-form legend { display: block; margin-bottom: 0.25rem; font-weight: 600; }
.contact-form input:not([type="radio"]), .contact-form select, .contact-form textarea {
	box-sizing: border-box; width: 100%; height: 50px; padding: 10px; font: inherit; color: inherit;
	border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 2px; background: #fafafa;
}
.contact-form textarea { height: 120px; resize: vertical; }
.contact-form fieldset { padding: 0; border: 0; }
.contact-form__choice { margin: 0 0 0.1rem; font-weight: 400 !important; }
.contact-form__choice input { margin: 0 0.5rem 0 0.25rem; }
.contact-form .wp-block-buttons { margin: 60px 0 20px; }
.contact-form__trap { position: absolute; left: -9999px; }
.contact-form__error { padding: 0.75rem 1rem; border-left: 4px solid #b3261e; background: var(--wp--preset--color--white); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (max-width: 600px) { .contact-form { padding: 10px 8px 0; } .contact-form__row { grid-template-columns: 1fr; gap: 0; } .contact-form__half { max-width: none; } }

/* Video-forhåndsvisning */
.yt__link { position: relative; display: block; aspect-ratio: 16 / 9; background: #000; border-radius: 6px; overflow: hidden; }
.yt__link img { display: block; width: 100%; height: 100%; object-fit: cover; }
.yt__play { position: absolute; inset: 0; margin: auto; width: 68px; height: 48px; border-radius: 12px; background: rgba(0, 0, 0, 0.75); }
.yt__play::after { content: ""; position: absolute; left: 27px; top: 14px; border: 10px solid transparent; border-left: 18px solid #fff; }
.yt__link:hover .yt__play { background: var(--wp--preset--color--primary); }
.yt iframe, iframe.yt-frame { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 6px; }

.wp-block-heading a { color: inherit; }
.wp-block-heading a:hover { color: var(--wp--preset--color--primary); }

/* Kort: kompakt tekst og 18 px titler som i originalen */
.is-style-card { font-size: var(--wp--preset--font-size--small); }
.is-style-card :is(h2, h3, h4) { margin-top: 0; }
.is-style-card > * + * { margin-top: 0.5rem; }
.wp-block-buttons .wp-block-button__link { font-family: inherit; }

.site-header .wp-block-site-logo, .site-header .wp-block-site-logo a { display: block; line-height: 0; }
.site-header__brand { gap: 20px; }

.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover { color: var(--wp--preset--color--primary); text-decoration: none; }

.wp-block-group.is-layout-grid { gap: 1.5rem; }

/* FAQ: + og − som i originalen */
.wp-block-details summary { list-style: none; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::before { content: "+"; display: inline-block; width: 1.25rem; font-size: 1.25rem; line-height: 1; font-weight: 700; vertical-align: -1px; }
.wp-block-details[open] > summary::before { content: "\2212"; }

/* Header: 1024 px bred som Astra, meny med 15 px sidefyll, undermeny etter Astras regler */
.site-header .site-header__inner { max-width: 1024px; margin-inline: auto; }
.wp-block-navigation .wp-block-navigation-item__content { padding: 0 15px; line-height: 30px; }
.wp-block-navigation .wp-block-navigation__submenu-container {
	width: 340px !important; min-width: 340px !important; padding: 0; background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--hairline);
}
.wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: block; padding: 0.9em 1em; line-height: 1.5; border-bottom: 1px solid var(--wp--preset--color--hairline); }
.wp-block-navigation__submenu-container > li:last-child > .wp-block-navigation-item__content { border-bottom: 0; }
.cart-link { min-width: 60px; width: auto; padding: 0 0.6rem; gap: 0.4rem; font-size: 0.9375rem; }
.cart-link svg { width: 25px; height: 25px; }
.site-footer { border-top-color: var(--wp--preset--color--steel); }

/* Kort-bilder pulserer ved musepeker (Elementors «pulse-grow») */
@keyframes pulse-grow { to { transform: scale(1.1); } }
.is-style-card figure img:hover, .is-style-feature figure img:hover { animation: pulse-grow 0.3s linear infinite alternate; }
@media (prefers-reduced-motion: reduce) { .is-style-card figure img:hover, .is-style-feature figure img:hover { animation: none; } }
.wp-block-cover { overflow: hidden; }
.is-style-feature { text-align: center; }

/* Kundeomtaler: karusell med taleboble, som pluginen men uten den */
.reviews-wrap { position: relative; margin-inline: 30px; }
.reviews { transition: height 0.75s ease; display: flex; align-items: flex-start; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-top: 10px; }
.reviews::-webkit-scrollbar { display: none; }
.review { flex: 0 0 100%; box-sizing: border-box; padding: 0 8px; scroll-snap-align: start; margin: 0 !important; }
@media (min-width: 993px) { .review { flex-basis: 33.3333%; } }
.review__text {
	position: relative; margin: 0 0 30px; padding: 20px 25px 20px 48px;
	font-size: 0.875rem; font-style: italic; line-height: 1.6; color: #777; text-indent: 22px;
	background: url("assets/img/review-positive.png") no-repeat 48px 24px, url("assets/img/review-facebook.png") no-repeat right 2px bottom 2px, #fff;
	border: 1px solid #f5f5f5; box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.09);
}
.review__text::before { content: "\201C"; position: absolute; left: 15px; top: -5px; font: 60px/96px Georgia, serif; color: #bbb; text-indent: 0; }
.review__text::after {
	content: ""; position: absolute; left: 80px; bottom: -30px; width: 0; height: 0;
	border-top: 30px solid #fff; border-right: 30px solid transparent; filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.1));
}
.review__by { margin: 0 !important; gap: 20px; padding-left: 20px; }
.review__by img { width: 50px; height: 50px; border-radius: 50%; object-fit: cover; }
.review__by p { margin: 0; font-size: 0.8125rem; line-height: 1.6; color: #555; text-transform: uppercase; }
.reviews-arrow {
	position: absolute; top: 45%; width: 25px; height: 25px; padding: 0; border: 0; border-radius: 50%;
	background: rgba(0, 0, 0, 0.2); cursor: pointer;
}
.reviews-arrow::before { content: ""; position: absolute; inset: 0; margin: auto; width: 7px; height: 7px; border: solid #fff; border-width: 2px 2px 0 0; transform: translateX(-1px) rotate(45deg); }
.reviews-arrow--prev { left: -30px; transform: rotate(180deg); }
.reviews-arrow--next { right: -30px; }
.reviews-dots { display: flex; justify-content: center; gap: 8px; margin-top: 8px; }
.reviews-dots button { width: 9px; height: 9px; padding: 0; border: 1px solid #c3c3c3; border-radius: 50%; background: none; cursor: pointer; }
.reviews-dots button[aria-current="true"] { background: #c3c3c3; }

.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-block-navigation-submenu > .wp-block-navigation-item__content { padding-right: 0; }
.wp-block-navigation__submenu-icon { margin: 0 15px 0 6px; width: 10px; }
.wp-block-navigation__submenu-container .wp-block-navigation-item__content { white-space: normal; }

/* Cover: ingen fast minstehøyde. Luft som i kilden: 10 px rundt banner, 50/17 px over/under helbredde bånd. */
.wp-block-cover { min-height: 0; padding: 10px; }
.wp-block-cover.alignfull { padding: 50px 0 17px; }
.wp-block-cover .wp-block-cover__inner-container > :first-child { margin-top: 0; }
@media (max-width: 767px) { .wp-block-cover.alignfull { padding: 40px 0 0; } }


@media (prefers-reduced-motion: reduce) { .reviews { transition: none; } }

/* icons:start (generert av tools/build-icons.py) */
/* Ikoner på knapper: legg «has-icon icon-<navn>» i knappens tilleggsklasse. Font Awesome Free 5.15 (CC BY 4.0). */
.has-icon .wp-block-button__link::before {
	content: ""; display: inline-block; width: 1em; height: 1em; margin-right: 0.625rem; vertical-align: -0.125em;
	background: currentColor; -webkit-mask: var(--icon) no-repeat center / contain; mask: var(--icon) no-repeat center / contain;
}
.icon-tools { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M501.1 395.7L384 278.6c-23.1-23.1-57.6-27.6-85.4-13.9L192 158.1V96L64 0 0 64l96 128h62.1l106.6 106.6c-13.6 27.8-9.2 62.3 13.9 85.4l117.1 117.1c14.6 14.6 38.2 14.6 52.7 0l52.7-52.7c14.5-14.6 14.5-38.2 0-52.7zM331.7 225c28.3 0 54.9 11 74.9 31l19.4 19.4c15.8-6.9 30.8-16.5 43.8-29.5 37.1-37.1 49.7-89.3 37.9-136.7-2.2-9-13.5-12.1-20.1-5.5l-74.4 74.4-67.9-11.3L334 98.9l74.4-74.4c6.6-6.6 3.4-17.9-5.7-20.2-47.4-11.7-99.6.9-136.6 37.9-28.5 28.5-41.9 66.1-41.2 103.6l82.1 82.1c8.1-1.9 16.5-2.9 24.7-2.9zm-103.9 82l-56.7-56.7L18.7 402.8c-25 25-25 65.5 0 90.5s65.5 25 90.5 0l123.6-123.6c-7.6-19.9-9.9-41.6-5-62.7zM64 472c-13.2 0-24-10.8-24-24 0-13.3 10.7-24 24-24s24 10.7 24 24c0 13.2-10.7 24-24 24z'/%3E%3C/svg%3E"); }
.icon-playstation { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M570.9 372.3c-11.3 14.2-38.8 24.3-38.8 24.3L327 470.2v-54.3l150.9-53.8c17.1-6.1 19.8-14.8 5.8-19.4-13.9-4.6-39.1-3.3-56.2 2.9L327 381.1v-56.4c23.2-7.8 47.1-13.6 75.7-16.8 40.9-4.5 90.9.6 130.2 15.5 44.2 14 49.2 34.7 38 48.9zm-224.4-92.5v-139c0-16.3-3-31.3-18.3-35.6-11.7-3.8-19 7.1-19 23.4v347.9l-93.8-29.8V32c39.9 7.4 98 24.9 129.2 35.4C424.1 94.7 451 128.7 451 205.2c0 74.5-46 102.8-104.5 74.6zM43.2 410.2c-45.4-12.8-53-39.5-32.3-54.8 19.1-14.2 51.7-24.9 51.7-24.9l134.5-47.8v54.5l-96.8 34.6c-17.1 6.1-19.7 14.8-5.8 19.4 13.9 4.6 39.1 3.3 56.2-2.9l46.4-16.9v48.8c-51.6 9.3-101.4 7.3-153.9-10z'/%3E%3C/svg%3E"); }
.icon-gamepad { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M480.07 96H160a160 160 0 1 0 114.24 272h91.52A160 160 0 1 0 480.07 96zM248 268a12 12 0 0 1-12 12h-52v52a12 12 0 0 1-12 12h-24a12 12 0 0 1-12-12v-52H84a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h52v-52a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12v52h52a12 12 0 0 1 12 12zm216 76a40 40 0 1 1 40-40 40 40 0 0 1-40 40zm64-96a40 40 0 1 1 40-40 40 40 0 0 1-40 40z'/%3E%3C/svg%3E"); }
.icon-laptop-medical { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M232 224h56v56a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8v-56h56a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8h-56v-56a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v56h-56a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8zM576 48a48.14 48.14 0 0 0-48-48H112a48.14 48.14 0 0 0-48 48v336h512zm-64 272H128V64h384zm112 96H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33-17.47-32.77-32H16a16 16 0 0 0-16 16v16a64.19 64.19 0 0 0 64 64h512a64.19 64.19 0 0 0 64-64v-16a16 16 0 0 0-16-16z'/%3E%3C/svg%3E"); }
.icon-headphones { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 32C114.52 32 0 146.496 0 288v48a32 32 0 0 0 17.689 28.622l14.383 7.191C34.083 431.903 83.421 480 144 480h24c13.255 0 24-10.745 24-24V280c0-13.255-10.745-24-24-24h-24c-31.342 0-59.671 12.879-80 33.627V288c0-105.869 86.131-192 192-192s192 86.131 192 192v1.627C427.671 268.879 399.342 256 368 256h-24c-13.255 0-24 10.745-24 24v176c0 13.255 10.745 24 24 24h24c60.579 0 109.917-48.098 111.928-108.187l14.382-7.191A32 32 0 0 0 512 336v-48c0-141.479-114.496-256-256-256z'/%3E%3C/svg%3E"); }
.icon-poop { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M451.36 369.14C468.66 355.99 480 335.41 480 312c0-39.77-32.24-72-72-72h-14.07c13.42-11.73 22.07-28.78 22.07-48 0-35.35-28.65-64-64-64h-5.88c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96-5.17 0-10.15.74-15.11 1.52C250.31 14.64 256 30.62 256 48c0 44.18-35.82 80-80 80h-16c-35.35 0-64 28.65-64 64 0 19.22 8.65 36.27 22.07 48H104c-39.76 0-72 32.23-72 72 0 23.41 11.34 43.99 28.64 57.14C26.31 374.62 0 404.12 0 440c0 39.76 32.24 72 72 72h368c39.76 0 72-32.24 72-72 0-35.88-26.31-65.38-60.64-70.86z'/%3E%3C/svg%3E"); }
.icon-flushed { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath d='M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm96-312c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-112 24c0-44.2-35.8-80-80-80s-80 35.8-80 80 35.8 80 80 80 80-35.8 80-80zm-80 48c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm160 144H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z'/%3E%3C/svg%3E"); }
.icon-shopping-cart { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M528.12 301.319l47.273-208C578.806 78.301 567.391 64 551.99 64H159.208l-9.166-44.81C147.758 8.021 137.93 0 126.529 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24h69.883l70.248 343.435C147.325 417.1 136 435.222 136 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-15.674-6.447-29.835-16.824-40h209.647C430.447 426.165 424 440.326 424 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-22.172-12.888-41.332-31.579-50.405l5.517-24.276c3.413-15.018-8.002-29.319-23.403-29.319H218.117l-6.545-32h293.145c11.206 0 20.92-7.754 23.403-18.681z'/%3E%3C/svg%3E"); }
.icon-user-secret { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M383.9 308.3l23.9-62.6c4-10.5-3.7-21.7-15-21.7h-58.5c11-18.9 17.8-40.6 17.8-64v-.3c39.2-7.8 64-19.1 64-31.7 0-13.3-27.3-25.1-70.1-33-9.2-32.8-27-65.8-40.6-82.8-9.5-11.9-25.9-15.6-39.5-8.8l-27.6 13.8c-9 4.5-19.6 4.5-28.6 0L182.1 3.4c-13.6-6.8-30-3.1-39.5 8.8-13.5 17-31.4 50-40.6 82.8-42.7 7.9-70 19.7-70 33 0 12.6 24.8 23.9 64 31.7v.3c0 23.4 6.8 45.1 17.8 64H56.3c-11.5 0-19.2 11.7-14.7 22.3l25.8 60.2C27.3 329.8 0 372.7 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-48.4-25.8-90.4-64.1-114.1zM176 480l-41.6-192 49.6 32 24 40-32 120zm96 0l-32-120 24-40 49.6-32L272 480zm41.7-298.5c-3.9 11.9-7 24.6-16.5 33.4-10.1 9.3-48 22.4-64-25-2.8-8.4-15.4-8.4-18.3 0-17 50.2-56 32.4-64 25-9.5-8.8-12.7-21.5-16.5-33.4-.8-2.5-6.3-5.7-6.3-5.8v-10.8c28.3 3.6 61 5.8 96 5.8s67.7-2.1 96-5.8v10.8c-.1.1-5.6 3.2-6.4 5.8z'/%3E%3C/svg%3E"); }
.icon-snowflake { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M440.1 355.2l-39.2-23 34.1-9.3c8.4-2.3 13.4-11.1 11.1-19.6l-4.1-15.5c-2.2-8.5-10.9-13.6-19.3-11.3L343 298.2 271.2 256l71.9-42.2 79.7 21.7c8.4 2.3 17-2.8 19.3-11.3l4.1-15.5c2.2-8.5-2.7-17.3-11.1-19.6l-34.1-9.3 39.2-23c7.5-4.4 10.1-14.2 5.8-21.9l-7.9-13.9c-4.3-7.7-14-10.3-21.5-5.9l-39.2 23 9.1-34.7c2.2-8.5-2.7-17.3-11.1-19.6l-15.2-4.1c-8.4-2.3-17 2.8-19.3 11.3l-21.3 81-71.9 42.2v-84.5L306 70.4c6.1-6.2 6.1-16.4 0-22.6l-11.1-11.3c-6.1-6.2-16.1-6.2-22.2 0l-24.9 25.4V16c0-8.8-7-16-15.7-16h-15.7c-8.7 0-15.7 7.2-15.7 16v46.1l-24.9-25.4c-6.1-6.2-16.1-6.2-22.2 0L142.1 48c-6.1 6.2-6.1 16.4 0 22.6l58.3 59.3v84.5l-71.9-42.2-21.3-81c-2.2-8.5-10.9-13.6-19.3-11.3L72.7 84c-8.4 2.3-13.4 11.1-11.1 19.6l9.1 34.7-39.2-23c-7.5-4.4-17.1-1.8-21.5 5.9l-7.9 13.9c-4.3 7.7-1.8 17.4 5.8 21.9l39.2 23-34.1 9.1c-8.4 2.3-13.4 11.1-11.1 19.6L6 224.2c2.2 8.5 10.9 13.6 19.3 11.3l79.7-21.7 71.9 42.2-71.9 42.2-79.7-21.7c-8.4-2.3-17 2.8-19.3 11.3l-4.1 15.5c-2.2 8.5 2.7 17.3 11.1 19.6l34.1 9.3-39.2 23c-7.5 4.4-10.1 14.2-5.8 21.9L10 391c4.3 7.7 14 10.3 21.5 5.9l39.2-23-9.1 34.7c-2.2 8.5 2.7 17.3 11.1 19.6l15.2 4.1c8.4 2.3 17-2.8 19.3-11.3l21.3-81 71.9-42.2v84.5l-58.3 59.3c-6.1 6.2-6.1 16.4 0 22.6l11.1 11.3c6.1 6.2 16.1 6.2 22.2 0l24.9-25.4V496c0 8.8 7 16 15.7 16h15.7c8.7 0 15.7-7.2 15.7-16v-46.1l24.9 25.4c6.1 6.2 16.1 6.2 22.2 0l11.1-11.3c6.1-6.2 6.1-16.4 0-22.6l-58.3-59.3v-84.5l71.9 42.2 21.3 81c2.2 8.5 10.9 13.6 19.3 11.3L375 428c8.4-2.3 13.4-11.1 11.1-19.6l-9.1-34.7 39.2 23c7.5 4.4 17.1 1.8 21.5-5.9l7.9-13.9c4.6-7.5 2.1-17.3-5.5-21.7z'/%3E%3C/svg%3E"); }
.icon-microchip { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M416 48v416c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h224c26.51 0 48 21.49 48 48zm96 58v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42V88h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zM30 376h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6z'/%3E%3C/svg%3E"); }
.icon-question-circle { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z'/%3E%3C/svg%3E"); }
.icon-comment-dots { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M144 208c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z'/%3E%3C/svg%3E"); }
.icon-nintendo-switch { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000000' width='800px' height='800px' viewBox='0 0 24 24' role='img'%3E%3Ctitle%3ENintendo Switch icon%3C/title%3E%3Cpath d='M14.176 24h3.674c3.376 0 6.15-2.774 6.15-6.15V6.15C24 2.775 21.226 0 17.85 0H14.1c-.074 0-.15.074-.15.15v23.7c-.001.076.075.15.226.15zm4.574-13.199c1.351 0 2.399 1.125 2.399 2.398 0 1.352-1.125 2.4-2.399 2.4-1.35 0-2.4-1.049-2.4-2.4-.075-1.349 1.05-2.398 2.4-2.398zM11.4 0H6.15C2.775 0 0 2.775 0 6.15v11.7C0 21.226 2.775 24 6.15 24h5.25c.074 0 .15-.074.15-.149V.15c.001-.076-.075-.15-.15-.15zM9.676 22.051H6.15c-2.326 0-4.201-1.875-4.201-4.201V6.15c0-2.326 1.875-4.201 4.201-4.201H9.6l.076 20.102zM3.75 7.199c0 1.275.975 2.25 2.25 2.25s2.25-.975 2.25-2.25c0-1.273-.975-2.25-2.25-2.25s-2.25.977-2.25 2.25z'%3E%3C/path%3E%3C/svg%3E"); }
.icon-commodore { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 76.81 69.395' style='enable-background:new 0 0 76.81 69.395;' xml:space='preserve'%3E%3Cg id='Commodore_x5F_65'%3E %3Cpath style='fill-rule:evenodd;clip-rule:evenodd;' d='M45.038,1.722c0.158,5.754-0.003,11.436,0.048,17.41 c-0.74-0.159-1.324-0.666-1.982-0.968c-2.074-0.949-4.557-1.499-7.641-1.499c-3.756,0-6.982,1.288-9.43,2.757 c-2.423,1.453-4.572,3.544-6.238,5.948c-1.66,2.394-2.853,5.581-2.853,9.334c0,3.755,1.116,6.918,2.805,9.382 c1.673,2.439,3.765,4.524,6.19,5.996c2.438,1.479,5.71,2.688,9.382,2.805c2.964,0.095,5.585-0.506,7.689-1.45 c0.684-0.307,1.301-0.748,2.031-0.968c0.022,5.677,0.083,11.422,0,17.217c-0.72,0.543-1.679,0.741-2.611,0.967 c-2.771,0.672-6.34,0.858-9.865,0.677c-4.127-0.212-8.267-1.452-11.413-2.757C14.582,63.85,9.331,59.203,5.673,53.709 c-1.852-2.78-3.433-6.053-4.498-9.721c-0.272-0.94-0.403-1.951-0.58-2.998c-0.493-2.923-0.799-6.312-0.435-9.769 c0.456-4.332,1.422-7.963,2.998-11.172c1.55-3.152,3.403-5.958,5.658-8.511c5.319-5.717,12.01-10.096,21.81-11.268 C35.553-0.318,41.486,0.005,45.038,1.722z'%3E%3C/path%3E %3Cpath style='fill-rule:evenodd;clip-rule:evenodd;' d='M45.135,19.276c10.332,0.175,21.341-0.11,31.675,0.146 c-0.312,0.846-1.132,1.326-1.741,1.934c-3.654,3.654-7.283,7.283-11.026,11.027c-0.484,0.483-1.409,1.58-1.934,1.692 c-0.593,0.127-1.443-0.057-2.176-0.049c-4.561,0.05-9.955,0.173-14.798-0.097c-0.113-4.739-0.017-9.688-0.049-14.508 C45.082,19.353,45.079,19.285,45.135,19.276z'%3E%3C/path%3E %3Cpath style='fill-rule:evenodd;clip-rule:evenodd;' d='M76.81,50.226c-10.267,0.158-21.093,0.119-31.675,0.049 c-0.127-4.574-0.114-9.646,0.048-14.653c4.243-0.179,8.396-0.098,12.719-0.097c1.305,0.001,3.145-0.219,4.208,0.049 c0.49,0.123,1.15,0.859,1.547,1.257c3.288,3.287,6.393,6.375,9.672,9.624c0.866,0.93,1.831,1.831,2.756,2.757 C76.375,49.501,76.779,49.794,76.81,50.226z'%3E%3C/path%3E%3C/g%3E%3Cg id='Layer_1'%3E%3C/g%3E%3C/svg%3E"); }
/* icons:end */

/* Fargede kategoriknapper er semibold, som i kilden */
.wp-block-button__link.has-background { font-weight: 600; }


/* Tittelbanner på butikk og kategorier (grått, midtstilt brødsmule og tittel) */
.title-banner { padding-block: 0; text-align: center; }
.title-banner > * { margin-block: 0; }
.page-crumbs { margin-block: 0 !important; padding-top: 0; }
.page-crumbs ~ .wp-block-post-content { margin-top: 0.5rem !important; }
.page-crumbs ~ .wp-block-post-content > .wp-block-heading:first-child { margin-top: 0; }
.title-banner .yoast-breadcrumbs, .title-banner .yoast-breadcrumbs *, .page-crumbs, .page-crumbs * { font-size: var(--wp--preset--font-size--small); }
.title-banner .wp-block-query-title { padding-bottom: 10px; }
.title-banner .wp-block-term-description { padding-bottom: 1rem; }

/* Kategoriruter: bilde med halvgjennomsiktig navnefelt */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin: 0; padding: 0; list-style: none; }
ul.products::before, ul.products::after { content: none !important; display: none !important; }
@media (max-width: 921px) { .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); } }
ul.products li.product-category { position: relative; width: auto !important; margin: 0 !important; float: none !important; }
ul.products li.product-category a { display: block; text-decoration: none; }
ul.products li.product-category img { display: block; width: 100%; height: auto; aspect-ratio: 225 / 245; object-fit: cover; margin: 0; }
.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
	position: absolute; left: 6%; right: 6%; bottom: 8%; margin: 0; padding: 8px 4px 10px;
	background: rgba(255, 255, 255, 0.9); color: var(--wp--preset--color--tekst);
	border: 2px solid var(--wp--preset--color--primary); border-radius: 8px;
	font-size: 1rem; font-weight: 700; line-height: 1.4; text-transform: uppercase; text-align: center;
}
.woocommerce ul.products li.product-category .woocommerce-loop-category__title .count { display: block; background: none; color: #000; opacity: 0.55; font-size: 0.75rem; line-height: 1.4; }
@media (max-width: 544px) { .woocommerce ul.products li.product-category .woocommerce-loop-category__title { font-size: 0.75rem; padding: 4px 2px; border-width: 1px; border-radius: 6px; } .woocommerce ul.products li.product-category .woocommerce-loop-category__title .count { display: none; } }

/* Ikonrad: lite ikon ved siden av tittel og tekst */
.icon-row { gap: 1.25rem; }
.icon-row > .wp-block-image { flex-shrink: 0; margin: 0.25rem 0 0; }
.icon-row .wp-block-heading { margin-top: 0; }
@media (max-width: 600px) { .icon-row > .wp-block-image img { width: 50px !important; } }

/* Grå boks alene i en kolonne fyller hele kolonnehøyden (som kolonnebakgrunn i originalen) */
.wp-block-column > .is-style-box:only-child { height: 100%; box-sizing: border-box; }

/* Sosiale ikoner i merkefarge (YouTube, Facebook): store som i originalen */
.wp-block-social-links.has-huge-icon-size { font-size: 80px; }

.is-style-faq { --icon-question: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z'/%3E%3C/svg%3E"); --icon-comment: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M144 208c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z'/%3E%3C/svg%3E"); }
/* Liste «Spørsmål og svar»: første punkt er spørsmålet (fet, spørsmålstegn), resten er svar (snakkeboble) */
.is-style-faq > li { position: relative; padding-left: 1.5rem; }
.is-style-faq > li::before {
	content: ""; position: absolute; left: 0; top: 0.3em; width: 1em; height: 1em; background: currentColor;
	-webkit-mask: var(--icon) no-repeat center / contain; mask: var(--icon) no-repeat center / contain;
	--icon: var(--icon-comment);
}
.is-style-faq > li:first-child { font-weight: 700; }
.is-style-faq > li:first-child::before { --icon: var(--icon-question); }

/* Før/etter ved hover: bildet tones ut og viser gruppens bakgrunnsbilde */
.is-style-reveal { overflow: hidden; }
.is-style-reveal img { display: block; transition: opacity 1.1s; }
.is-style-reveal:hover img, .is-style-reveal:focus-within img { opacity: 0; }
@media (prefers-reduced-motion: reduce) { .is-style-reveal img { transition: none; } }

/* Flytende bilder holder seg innenfor innholdsbredden */
.is-layout-constrained > .alignright { margin-right: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important; }
.is-layout-constrained > .alignleft { margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important; }

/* Mobil: pilene i omtalekarusellen holder seg innenfor skjermen */
@media (max-width: 781px) { .reviews-arrow--prev { left: -20px; } .reviews-arrow--next { right: -20px; } }
/* Innebygd innhold går aldri bredere enn innholdet */
iframe, .wp-embedded-content { max-width: 100% !important; }

/* Produktside: grått bånd med brødsmule (som butikk og kategorier), venstrejustert */
.title-banner--slim { text-align: left; padding-block: 1.5rem; }

/* Kjøpsskjema: valg under hverandre med etikett over, pris, så antall + knapp på én rad */
.product-top .wp-block-post-title { margin-top: 0; font-size: var(--wp--preset--font-size--x-large); }
.variations_form table.variations, .variations_form table.variations tbody { display: block; border: 0; margin: 0 0 0.75rem; }
.variations_form table.variations tr { display: block; margin-bottom: 0.75rem; }
.variations_form table.variations th, .variations_form table.variations td { display: block; padding: 0; border: 0; text-align: left; }
.variations_form table.variations label { font-weight: 600; font-size: var(--wp--preset--font-size--small); }
.variations_form select, .product-top .quantity input {
	box-sizing: border-box; height: 42px; padding: 0 10px; font: inherit; font-size: var(--wp--preset--font-size--small);
	border: 1px solid var(--wp--preset--color--border); border-radius: 4px; background: var(--wp--preset--color--white);
}
.variations_form select { width: 100%; max-width: 360px; }
.variations_form .reset_variations { display: inline-block; margin-top: 0.25rem; font-size: 0.8rem; text-transform: uppercase; }
.single_variation_wrap .woocommerce-variation-price { font-size: var(--wp--preset--font-size--large); font-weight: 600; margin-bottom: 0.75rem; }
.product-top form.cart:not(.variations_form), .woocommerce-variation-add-to-cart { display: flex; gap: 0.75rem; align-items: center; flex-wrap: wrap; }
.product-top .quantity input { width: 4.5rem; text-align: center; }
.product-top .single_add_to_cart_button.disabled { opacity: 0.5; cursor: not-allowed; }
.product-top .wc-block-components-product-rating { margin-top: 1rem; }

/* Faner: Beskrivelse, Tilleggsinformasjon, Omtaler */
.woocommerce-tabs { margin-top: var(--wp--preset--spacing--50, 2rem); }
.woocommerce-tabs ul.tabs { display: flex; gap: 1.5rem; margin: 0 0 1.25rem; padding: 0; list-style: none; border-bottom: 1px solid var(--wp--preset--color--hairline); }
.woocommerce-tabs ul.tabs li { margin: 0; }
.woocommerce-tabs ul.tabs a { display: block; padding: 0.5rem 0; font-size: var(--wp--preset--font-size--small); text-decoration: none; color: var(--wp--preset--color--tekst); border-bottom: 2px solid transparent; margin-bottom: -1px; }
.woocommerce-tabs ul.tabs li.active a { border-bottom-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--navy); }
.woocommerce-Tabs-panel > h2:first-child { display: none; }
.woocommerce-Tabs-panel h2 { font-size: var(--wp--preset--font-size--large); }
.woocommerce-Tabs-panel h3 { font-size: var(--wp--preset--font-size--medium); }
.woocommerce-Tabs-panel h4 { font-size: var(--wp--preset--font-size--base); }
.woocommerce-product-attributes { border-collapse: collapse; }
.woocommerce-product-attributes th, .woocommerce-product-attributes td { padding: 0.5rem 1rem 0.5rem 0; text-align: left; border-bottom: 1px solid var(--wp--preset--color--hairline); }
.woocommerce-product-attributes td p { margin: 0; }
#reviews .commentlist { list-style: none; padding: 0; }
#reviews .comment_container { display: flex; gap: 1rem; }
#reviews .avatar { border-radius: 50%; }

/* Galleri: små bilder like store og kvadratiske */
.woocommerce-product-gallery:not(.gallery-js) .woocommerce-product-gallery__image:not(:first-child) img { aspect-ratio: 1; object-fit: cover; }
.wp-block-woocommerce-product-details.alignwide { max-width: var(--wp--style--global--content-size); }
.product-top form.variations_form.cart { display: block !important; }
.product-top .woocommerce-variation-add-to-cart { display: flex !important; gap: 0.75rem; align-items: center; }
#review_form input:not([type="submit"]):not([type="checkbox"]), #review_form textarea, #review_form select {
	box-sizing: border-box; width: 100%; max-width: 480px; padding: 8px 10px; font: inherit; font-size: var(--wp--preset--font-size--small);
	border: 1px solid var(--wp--preset--color--border); border-radius: 4px; background: #fafafa;
}
#review_form label { display: block; margin-bottom: 0.25rem; font-size: var(--wp--preset--font-size--small); font-weight: 600; }
#review_form .comment-form-cookies-consent label { display: inline; font-weight: 400; }

/* Fet tekst i overskrifter blir ikke ekstra fet */
:where(h1, h2, h3, h4, h5, h6) :where(strong, b) { font-weight: inherit; }
/* Overskrifter i produktbeskrivelsen er underordnet produkttittelen, uansett størrelse satt i kilden */
.woocommerce-Tabs-panel h2.wp-block-heading { font-size: var(--wp--preset--font-size--large) !important; }
.woocommerce-Tabs-panel h3.wp-block-heading { font-size: var(--wp--preset--font-size--medium) !important; }
.woocommerce-Tabs-panel :is(h4, h5, h6).wp-block-heading { font-size: var(--wp--preset--font-size--base) !important; }

/* Stående video (tatt med telefon) */
.yt--vertical { max-width: 360px; margin-inline: auto; }
.yt--vertical .yt__link, .yt--vertical iframe { aspect-ratio: 9 / 16; }

/* Produktbilder i nettbutikken: avrundede hjørner */
.wc-block-components-product-image, .wc-block-components-product-image img, .wc-block-grid__product-image img,
ul.products li.product-category img, .woocommerce-product-gallery__image { border-radius: 10px; overflow: hidden; }
.woocommerce-product-gallery__image img { border-radius: 10px; }

/* Zoom i produktgalleriet */
.woocommerce-product-gallery__image { position: relative; overflow: hidden; }
.woocommerce-product-gallery__image .zoom-img { position: absolute; top: 0; left: 0; max-width: none; height: auto; opacity: 0; pointer-events: none; transition: opacity 0.2s; border-radius: 0 !important; }
.woocommerce-product-gallery__image.is-zoomed .zoom-img { opacity: 1; }
.gallery-js .woocommerce-product-gallery__image.is-active a { cursor: zoom-in; }

/* Med JS: ett hovedbilde og faste miniatyrbilder under (alle bildene, det valgte er tydelig) */
.gallery-js .woocommerce-product-gallery__wrapper { display: block; overflow: hidden; }
.gallery-js .woocommerce-product-gallery__image:not(.is-active) { display: none !important; }
.gallery-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; margin: 0.5rem 0 0; padding: 0; list-style: none; }
.gallery-thumbs button { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; opacity: 0.55; transition: opacity 0.2s; }
.gallery-thumbs button:hover, .gallery-thumbs button:focus-visible, .gallery-thumbs button[aria-current] { opacity: 1; }
.gallery-thumbs img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 10px; }

/* PTM-bestilling: målefelt i en tydelig boks over kjøpsknappen */
.ptm-order { margin: 0 0 1rem; padding: 1rem 1.25rem; border: 2px solid var(--wp--preset--color--primary); border-radius: 10px; background: #f3f8ff; font-size: var(--wp--preset--font-size--small); }
.ptm-order p, .ptm-order fieldset { margin: 0 0 0.75rem; }
.ptm-order label { font-weight: 600; }
.ptm-order__field input { display: block; box-sizing: border-box; width: 100%; height: 42px; margin-top: 0.25rem; padding: 0 10px; font: inherit; border: 1px solid var(--wp--preset--color--border); border-radius: 4px; background: #fff; }
.ptm-order__die { display: flex; align-items: center; gap: 0.5rem; padding: 0; border: 0; }
.ptm-order__die legend { float: left; width: 4.5rem; font-weight: 600; }
.ptm-order__die input { box-sizing: border-box; width: 6rem; height: 42px; padding: 0 10px; font: inherit; border: 1px solid var(--wp--preset--color--border); border-radius: 4px; background: #fff; }
.ptm-order__die[hidden] { display: none; }
.ptm-order__check label { font-weight: 400; }
.ptm-order__sum { padding: 0.6rem 0.75rem; border-radius: 6px; background: #fff; font-size: var(--wp--preset--font-size--base); }
.ptm-order__help summary { cursor: pointer; font-weight: 600; color: var(--wp--preset--color--navy); }
.ptm-order__help ol { margin: 0.5rem 0; padding-left: 1.25rem; }
.ptm-order__prompt { white-space: pre-wrap; margin: 0.5rem 0; padding: 0.75rem; border-radius: 6px; background: #fff; border: 1px dashed var(--wp--preset--color--border); font-size: 0.8rem; }
.ptm-order__copy { padding: 6px 16px; font-size: var(--wp--preset--font-size--small); }
.ptm-order__warn { margin-bottom: 0 !important; color: var(--wp--preset--color--alert); }
.ptm-qty { display: none !important; }
.single_add_to_cart_button:disabled { opacity: 0.45; cursor: not-allowed; }
.price-unit { font-size: 0.7em; font-weight: 400; }

/* Luft rundt blokker i produktbeskrivelsen (fanen er ikke en blokkbeholder) */
.woocommerce-Tabs-panel :is(.wp-block-media-text, .wp-block-embed, .wp-block-columns, .wp-block-image) { margin-block: 1.25rem; }
.woocommerce-Tabs-panel .yt:not(.yt--vertical) { max-width: 640px; }

/* Rullegardinmenyene ligger alltid over innholdet (f.eks. tekst i bannere) */
.site-header { position: relative; z-index: 100; }

/* Kontaktknapp nede til høyre (erstatter Chaty): «Kontakt oss» + Messenger */
.chat-button { position: fixed; right: 20px; bottom: 20px; z-index: 90; display: flex; align-items: center; gap: 10px; text-decoration: none; }
.chat-button__label { padding: 6px 12px; border-radius: 8px; background: #fff; color: #333; font-size: var(--wp--preset--font-size--small); box-shadow: 0 1px 6px rgba(0, 0, 0, 0.18); }
.chat-button__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #1e88e5; color: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25); animation: chat-waggle 6s ease-in-out 2s infinite; }
.chat-button:hover .chat-button__icon, .chat-button:focus-visible .chat-button__icon { background: #1565c0; animation: none; }
@keyframes chat-waggle { 0%, 88%, 100% { transform: rotate(0); } 90% { transform: rotate(-14deg); } 92% { transform: rotate(12deg); } 94% { transform: rotate(-8deg); } 96% { transform: rotate(5deg); } }
@media (prefers-reduced-motion: reduce) { .chat-button__icon { animation: none; } }
@media (max-width: 600px) { .chat-button { right: 12px; bottom: 12px; } }

/* Handlekurv, kasse og konto (Woos klassiske skjema med Woos CSS) i temaets stil */
.woocommerce form .form-row label { font-size: var(--wp--preset--font-size--small); font-weight: 600; }
.woocommerce form .form-row .input-text, .woocommerce form .form-row select, .woocommerce-cart .coupon .input-text, .woocommerce form .form-row textarea {
	box-sizing: border-box; min-height: 44px; padding: 8px 12px; font: inherit; font-size: var(--wp--preset--font-size--small);
	border: 1px solid var(--wp--preset--color--border); border-radius: 6px; background: #fafafa;
}
.woocommerce form .form-row .input-text:focus, .woocommerce form .form-row textarea:focus { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 0; background: #fff; }
.woocommerce-checkout h3, .woocommerce-cart .cart_totals h2 { font-size: var(--wp--preset--font-size--large); }
.woocommerce table.shop_table { border-radius: 10px; border-color: var(--wp--preset--color--hairline); border-collapse: separate; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--wp--preset--color--hairline); }
.woocommerce-checkout #payment { border-radius: 10px; background: var(--wp--preset--color--surface); }
.woocommerce-checkout #payment div.payment_box { border-radius: 6px; background: #fff; color: var(--wp--preset--color--tekst); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce #respond input#submit {
	padding: 10px 35px; border-radius: 5px; font: inherit; font-size: 15px; background: var(--wp--preset--color--primary); color: #fff;
}
.woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce a.button:hover { background: var(--wp--preset--color--navy); color: #fff; }
.woocommerce #place_order { font-size: var(--wp--preset--font-size--medium); padding: 14px 40px; }
.woocommerce-cart table.cart img { width: 64px; border-radius: 8px; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-top-color: var(--wp--preset--color--primary); background: var(--wp--preset--color--surface); border-radius: 6px; }
.checkout-item { display: inline-flex; align-items: center; gap: 0.75rem; }
.checkout-item__img { width: 64px; height: 64px; object-fit: cover; border-radius: 8px; flex-shrink: 0; }

/* Kompakt kontaktskjema */
.contact-form { padding: 16px 20px; }
.contact-form p, .contact-form fieldset { margin: 0 0 10px; }
.contact-form__row { gap: 12px; }
.contact-form label, .contact-form legend { margin-bottom: 2px; font-size: 0.85rem; }
.contact-form input:not([type="radio"]), .contact-form select { height: 42px; }
.contact-form textarea { height: 110px; }
.contact-form__send { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 4px; }
.contact-form__send .wp-block-buttons { margin: 0 !important; }

/* Nytt hovedtema: strek over hver H2 (ikke den første, ikke rett under H1, ikke inne i bokser/kolonner/bannere).
   Streker (separator-blokker) har god luft over og under. */
:root { --topic-gap: 2.5rem; --topic-line: 1px solid rgba(70, 70, 70, 0.35); }
.wp-block-separator { margin-block: var(--topic-gap) !important; border: 0 !important; border-top: var(--topic-line) !important; opacity: 1; }
.wp-block-post-content > h2.wp-block-heading:not(:first-child):not(h1 + h2),
.woocommerce-Tabs-panel--description > h2.wp-block-heading ~ h2.wp-block-heading {
	margin-top: var(--topic-gap) !important; padding-top: var(--topic-gap); border-top: var(--topic-line);
}

/* Nettbrett: menyen får plass på én linje */
@media (min-width: 600px) and (max-width: 1024px) { .site-header .wp-block-navigation .wp-block-navigation-item__content { padding: 0 7px; } .site-header .wp-block-navigation { font-size: var(--wp--preset--font-size--base) !important; } .wp-block-navigation__submenu-icon { margin: 0 7px 0 3px; } }
@media (min-width: 600px) and (max-width: 781px) {
	.site-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
}

/* Mobilmeny: tre streker + teksten «Meny» */
.site-header .wp-block-navigation__responsive-container-open { align-items: center; gap: 6px; padding: 6px 10px; border: 2px solid var(--wp--preset--color--primary); border-radius: 6px; color: var(--wp--preset--color--primary); }
.site-header .wp-block-navigation__responsive-container-open::after { content: "Meny"; font-size: var(--wp--preset--font-size--base); font-weight: 600; }

/* Nedtrekkslister og felt: ingen fast høyde med stor linjehøyde (bokstaver som g og p ble kuttet nederst) */
select, .variations_form select, .contact-form select, .ptm-order input, .contact-form input:not([type="radio"]):not([type="checkbox"]) {
	height: auto !important; min-height: 44px; padding-top: 8px !important; padding-bottom: 8px !important; line-height: 1.4 !important;
}
.variations_form .reset_variations { margin-left: 10px; }

/* Ekstrajobber som krysses av på produktet (mu-plugins/chipfix-extras.php) */
.chipfix-extras { margin: 0 0 1em; padding: 12px 16px; border: 1px solid #d5d5d5; border-radius: 8px; }
.chipfix-extras legend { padding: 0 6px; font-weight: 600; }
.chipfix-extras legend span { font-weight: 400; }
.chipfix-extras label { display: block; padding: 4px 0; cursor: pointer; }
.chipfix-extras label[hidden], .chipfix-extras[hidden], .chipfix-extras__total[hidden] { display: none; }
.chipfix-extras__total { margin: 8px 0 0; font-weight: 700; }

/* Laptop-ladeport: valg av merke og modell (mu-plugins/chipfix-laptop.php) */
.laptop-order { margin: 0 0 1em; }
.laptop-order fieldset { margin: 0 0 1em; padding: 0; border: 0; }
.laptop-order legend, .laptop-order label[for] { display: block; margin-bottom: 6px; font-weight: 600; }
.laptop-order label[for] span { font-weight: 400; color: #6b6b6b; }
.laptop-order__brands { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; }
.laptop-order__brands legend { grid-column: 1 / -1; }
.laptop-brand { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 6px; border: 1px solid #d5d5d5; border-radius: 8px; cursor: pointer; text-align: center; font-size: 14px; }
.laptop-brand input { position: absolute; opacity: 0; pointer-events: none; }
.laptop-brand img { width: 44px; height: 44px; }
.laptop-brand__none { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; font-weight: 700; font-size: 20px; }
.laptop-brand:has(input:checked) { border-color: #0064dc; box-shadow: 0 0 0 2px #0064dc; background: #f3f8ff; }
.laptop-brand:has(input:focus-visible) { outline: 2px solid #0064dc; outline-offset: 2px; }
.laptop-order select, .laptop-order input[type="text"], .laptop-order textarea { width: 100%; max-width: 480px; font: inherit; }
.laptop-order small { display: block; margin-top: 4px; color: #6b6b6b; }
.laptop-order__plug label, .laptop-order__check label { display: block; padding: 3px 0; cursor: pointer; }
.laptop-order [hidden] { display: none !important; }
.laptop-order__total { font-size: 1.2em; font-weight: 700; }

/* Stående video (YouTube Shorts) ved siden av tekst i produktbeskrivelser */
.product-video-cols { gap: 2rem; align-items: flex-start; }
.video-vertical { aspect-ratio: 9 / 16; width: 100%; max-width: 340px; margin: 0 auto; }
.video-vertical iframe { width: 100%; height: 100%; border: 0; border-radius: 8px; }

/* Bildeopplasting i kontaktskjemaet */
.contact-form input[type="file"] { min-height: 0 !important; height: auto !important; padding: 8px !important; background: #fff; }
.contact-form__hint { display: block; margin-top: 4px; font-size: 0.8rem; color: #464646; }

/* 404: Amiga-demo med Guru Meditation, copper-striper og sinus-scroller (påskeegg, eiers ønske 2026-10-04). */
.demo404 { position: relative; overflow: hidden; margin: 0 0 1.5rem; border-radius: 6px; background: #000; color: #fff; font-family: ui-monospace, Menlo, Consolas, monospace; }
.demo404__guru { margin: 10px; padding: 10px 12px; border: 5px solid #e00; color: #e00; font-size: clamp(11px, 2.4vw, 15px); font-weight: 700; line-height: 1.5; text-align: center; animation: demo404-guru 1.6s steps(1) infinite; }
@keyframes demo404-guru { 50% { border-color: #000; } }
.demo404__copper { position: absolute; left: 0; right: 0; bottom: 0; height: 96px; pointer-events: none; }
.demo404__copper span { position: absolute; left: 0; right: 0; height: 18px; animation: demo404-copper 3.2s ease-in-out infinite alternate; }
.demo404__copper span:nth-child(1) { background: linear-gradient(#300, #f40 50%, #300); animation-delay: 0s; }
.demo404__copper span:nth-child(2) { background: linear-gradient(#330, #ff0 50%, #330); animation-delay: -.6s; }
.demo404__copper span:nth-child(3) { background: linear-gradient(#030, #0f6 50%, #030); animation-delay: -1.2s; }
.demo404__copper span:nth-child(4) { background: linear-gradient(#003, #08f 50%, #003); animation-delay: -1.8s; }
.demo404__copper span:nth-child(5) { background: linear-gradient(#303, #f0f 50%, #303); animation-delay: -2.4s; }
@keyframes demo404-copper { from { top: 0; } to { top: calc(100% - 18px); } }
.demo404__insert { position: relative; display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 18px 0 10px; }
.demo404__chrome { margin: 0; font-family: "Arial Black", Arial, sans-serif; font-size: clamp(24px, 6vw, 42px); font-weight: 900; letter-spacing: .14em; line-height: 1; background: linear-gradient(100deg, transparent 40%, rgba(255, 255, 255, .95) 50%, transparent 60%) no-repeat, linear-gradient(#ffffff 0%, #c9d6e3 38%, #3b4b5c 50%, #9fb3c6 58%, #ffffff 100%); background-size: 250% 100%, 100% 100%; background-position: 150% 0, 0 0; -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-stroke: 1px #6e8297; filter: drop-shadow(2px 3px 0 #000); animation: demo404-glans 3.5s ease-in-out infinite; }
.demo404__chrome + svg + .demo404__chrome { animation-delay: .4s; }
@keyframes demo404-glans { 0%, 55% { background-position: 150% 0, 0 0; } 100% { background-position: -60% 0, 0 0; } }
.demo404__floppy { width: clamp(120px, 26vw, 170px); height: auto; filter: drop-shadow(4px 6px 0 rgba(0, 0, 0, .6)); animation: demo404-sveve 2.4s ease-in-out infinite alternate; }
@keyframes demo404-sveve { from { transform: translateY(-6px) rotate(-2deg); } to { transform: translateY(6px) rotate(2deg); } }
.demo404__lukker { animation: demo404-lukker 4s ease-in-out infinite; }
@keyframes demo404-lukker { 0%, 70%, 100% { transform: translateX(0); } 80%, 90% { transform: translateX(-34px); } }
.demo404__scroll { position: relative; height: 70px; padding-top: 22px; overflow: hidden; white-space: nowrap; font-size: 22px; font-weight: 900; color: #ffcc00; text-shadow: 2px 2px 0 #a40; }
.demo404__scroll span { display: inline-block; will-change: transform; }
/* Fire VU-stolper i bakgrunnen, én per kanal, som i ProTracker. Høyden settes fra musikken (--vu 0–1). */
.demo404__vu { position: absolute; left: 6%; right: 6%; bottom: 96px; top: 96px; display: flex; align-items: flex-end; justify-content: space-between; pointer-events: none; }
.demo404__vu span { width: clamp(22px, 7vw, 64px); height: calc(var(--vu, 0) * 100%); background: linear-gradient(to top, #00c000 0%, #00ff00 45%, #ffff00 70%, #ff8000 85%, #ff0000 100%) bottom / 100% var(--vu-h, 300px) no-repeat; -webkit-mask: repeating-linear-gradient(to top, #000 0 6px, transparent 6px 8px); mask: repeating-linear-gradient(to top, #000 0 6px, transparent 6px 8px); opacity: .5; transition: height .06s linear; }
.demo404__knapper { position: relative; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 4px 0 12px; }
.demo404__musikk, .demo404__fullskjerm { position: relative; display: block; padding: 6px 14px; border: 2px solid #fff; border-radius: 0; background: #0055aa; color: #fff; font: 700 13px/1.3 ui-monospace, Menlo, Consolas, monospace; letter-spacing: .04em; cursor: pointer; }
.demo404__musikk:hover, .demo404__musikk:focus-visible, .demo404__fullskjerm:hover, .demo404__fullskjerm:focus-visible { background: #ff8800; color: #000; }
.demo404 { cursor: pointer; }
/* Fullskjerm: demoen fyller skjermen, alt blir større. */
.demo404:fullscreen { display: flex; flex-direction: column; justify-content: center; margin: 0; border-radius: 0; }
.demo404:fullscreen .demo404__guru { position: absolute; top: 0; left: 0; right: 0; font-size: clamp(14px, 1.6vw, 22px); }
.demo404:fullscreen .demo404__chrome { font-size: clamp(36px, 7vw, 96px); }
.demo404:fullscreen .demo404__floppy { width: clamp(180px, 22vw, 340px); }
.demo404:fullscreen .demo404__scroll { position: absolute; left: 0; right: 0; bottom: 20px; height: 110px; font-size: clamp(28px, 4vw, 52px); }
.demo404:fullscreen .demo404__copper { height: 160px; }
.demo404:fullscreen .demo404__vu { top: 120px; bottom: 170px; }
.demo404:fullscreen .demo404__knapper { position: absolute; right: 16px; bottom: 150px; margin: 0; }
@media (prefers-reduced-motion: reduce) { .demo404__guru, .demo404__copper span, .demo404__chrome, .demo404__floppy, .demo404__lukker { animation: none; } }
