@import url('https://fonts.googleapis.com/css2?family=Anton&family=Hanken+Grotesk:wght@400;500;600;700;800&family=Spline+Sans+Mono:wght@500;600&display=swap');

	.td-sp{
		--td-yellow:#FFD400; --td-yellow-deep:#F2C200; --td-yellow-soft:#FFF1B0;
		--td-ink:#0B0B0B; --td-ink-soft:rgba(11,11,11,.62); --td-ink-faint:rgba(11,11,11,.42);
		--td-bg:#FFFFFF; --td-bg-2:#F5F4F0; --td-line:rgba(11,11,11,.14); --td-sale:#E4002B;
		--td-font-display:'Anton',Impact,sans-serif;
		--td-font-body:'Hanken Grotesk',-apple-system,system-ui,sans-serif;
		--td-font-mono:'Spline Sans Mono',ui-monospace,monospace;
		--td-ease:cubic-bezier(.23,1,.32,1);
		font-family:var(--td-font-body); color:var(--td-ink);
		position:relative; max-width:1280px; margin:0 auto;
		padding:clamp(20px,3vw,40px) clamp(14px,3vw,28px) clamp(48px,6vw,84px);
		-webkit-font-smoothing:antialiased;
	}
	.td-sp *,.td-sp *::before,.td-sp *::after{ box-sizing:border-box; }

	/* Bryd ud af temaets smalle container (Astra) — fuld bredde, ingen sidebar.
	 * .td-sp kapper selv bredden til 1280px og centrerer. */
	body.single-product #primary{ width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; float:none !important; }
	body.single-product #content .ast-container{ max-width:none !important; width:100% !important; padding-left:0 !important; padding-right:0 !important; }
	body.single-product #secondary{ display:none !important; }
	body.single-product .entry-content,
	body.single-product .ast-article-single,
	body.single-product .ast-article-post{ padding:0 !important; margin:0 !important; border:none !important; box-shadow:none !important; background:transparent !important; }

	/* ── TOP: galleri + summary ── */
	.td-sp__top{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(20px,3vw,48px); align-items:start; }

	/* ── GALLERI ── */
	/* opacity:1 tvinges, fordi WooCommerce ellers holder galleriet på
	 * opacity:0 indtil flexslider-JS (jQuery) afslører det — og jQuery er
	 * slået fra. Uden flexslider stakkes billederne blot lodret. */
	.td-sp .woocommerce-product-gallery{ float:none !important; width:100% !important; margin:0 !important; position:relative; opacity:1 !important; }
	.td-sp .woocommerce-product-gallery__wrapper{ display:flex; flex-direction:column; gap:12px; margin:0; }
	.td-sp .woocommerce-product-gallery__image,
	.td-sp .woocommerce-product-gallery__image--placeholder{
		background:var(--td-bg); border:2px solid var(--td-ink); box-shadow:8px 8px 0 rgba(11,11,11,.08); overflow:hidden;
	}
	.td-sp .woocommerce-product-gallery__image a{ display:block; }
	.td-sp .woocommerce-product-gallery__image img{ width:100%; height:auto; object-fit:contain; display:block; }
	.td-sp .woocommerce-product-gallery .flex-control-thumbs{ display:flex; flex-wrap:wrap; gap:10px; margin:12px 0 0; padding:0; list-style:none; }
	.td-sp .woocommerce-product-gallery .flex-control-thumbs li{ width:72px; margin:0; }
	.td-sp .woocommerce-product-gallery .flex-control-thumbs img{
		width:100%; height:72px; object-fit:cover; border:2px solid var(--td-line); cursor:pointer; opacity:.7; transition:opacity .15s ease,border-color .15s ease;
	}
	.td-sp .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
	.td-sp .woocommerce-product-gallery .flex-control-thumbs img:hover{ opacity:1; border-color:var(--td-ink); }
	.td-sp .woocommerce-product-gallery__trigger{ position:absolute; top:14px; right:14px; z-index:5; width:42px; height:42px; display:grid; place-items:center; background:var(--td-bg); border:2px solid var(--td-ink); }

	/* Sale-badge (starburst) */
	.td-sp span.onsale{
		position:absolute; top:-14px; left:-14px; z-index:6; min-width:62px; height:62px; padding:0 8px;
		display:grid; place-items:center; background:var(--td-sale); color:#fff; border:2px solid var(--td-ink);
		font-family:var(--td-font-display); font-size:17px; line-height:1; text-transform:uppercase; letter-spacing:.02em;
		transform:rotate(-8deg); box-shadow:4px 4px 0 var(--td-ink); border-radius:0;
	}

	/* ── SUMMARY ── */
	.td-sp .entry-summary,.td-sp .summary{ float:none !important; width:100% !important; margin:0 !important; }
	.td-sp .summary > *{ margin:0 0 16px; }
	.td-sp .product_title{
		font-family:var(--td-font-display); font-weight:400; text-transform:uppercase; letter-spacing:.005em;
		font-size:clamp(30px,4.5vw,54px); line-height:.96; color:var(--td-ink); margin:6px 0 10px;
	}
	/* Kategori-eyebrow (indsat via JS hvis muligt) */
	.td-sp__eyebrow{
		display:inline-block; font-family:var(--td-font-mono); font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
		color:var(--td-ink); background:var(--td-yellow); border:2px solid var(--td-ink); padding:5px 11px;
	}
	.td-sp .woocommerce-product-rating{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
	.td-sp .star-rating{ color:var(--td-ink); font-size:16px; }
	.td-sp .woocommerce-review-link{ font-family:var(--td-font-mono); font-size:12px; color:var(--td-ink-soft); text-decoration:underline; text-underline-offset:2px; }

	.td-sp .price{ display:flex; align-items:baseline; flex-wrap:wrap; gap:12px; font-family:var(--td-font-display); font-weight:400; font-size:clamp(30px,4vw,44px); line-height:1; color:var(--td-ink); margin:4px 0 18px; }
	.td-sp .price del{ order:-1; font-family:var(--td-font-body); font-weight:500; font-size:17px; color:var(--td-ink-faint); text-decoration:line-through; text-decoration-thickness:2px; }
	.td-sp .price ins{ text-decoration:none; color:var(--td-ink); }
	.td-sp .price .woocommerce-Price-amount,.td-sp .price bdi{ color:inherit; }
	.td-sp .price small.woocommerce-price-suffix{ font-family:var(--td-font-body); font-size:12px; color:var(--td-ink-faint); font-weight:500; }

	.td-sp .woocommerce-product-details__short-description{ font-size:15.5px; line-height:1.6; color:var(--td-ink-soft); border-top:2px solid var(--td-line); border-bottom:2px solid var(--td-line); padding:16px 0; }
	.td-sp .woocommerce-product-details__short-description p{ margin:0 0 10px; }
	.td-sp .woocommerce-product-details__short-description :last-child{ margin-bottom:0; }
	.td-sp .woocommerce-product-details__short-description ul{ margin:0; padding-left:18px; }

	/* ── FORM / ADD TO CART ── */
	.td-sp form.cart{ display:flex; flex-wrap:wrap; align-items:stretch; gap:12px; margin:4px 0 18px; }
	.td-sp form.cart .quantity{ display:inline-flex; align-items:stretch; border:2px solid var(--td-ink); background:var(--td-bg); }
	.td-sp .td-qty-btn{ width:46px; flex:0 0 auto; display:grid; place-items:center; background:var(--td-bg); border:none; cursor:pointer; font-family:var(--td-font-display); font-size:22px; line-height:1; color:var(--td-ink); transition:background-color .15s ease; }
	.td-sp .td-qty-btn:hover{ background:var(--td-yellow-soft); }
	.td-sp .td-qty-btn--minus{ border-right:2px solid var(--td-ink); }
	.td-sp .td-qty-btn--plus{ border-left:2px solid var(--td-ink); }
	.td-sp form.cart .quantity .qty{ width:64px; border:none; background:transparent; text-align:center; font-family:var(--td-font-mono); font-weight:600; font-size:16px; color:var(--td-ink); -moz-appearance:textfield; padding:10px 4px; }
	.td-sp form.cart .quantity .qty::-webkit-outer-spin-button,
	.td-sp form.cart .quantity .qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
	.td-sp form.cart .quantity .qty:focus{ outline:none; }

	.td-sp .single_add_to_cart_button,
	.td-sp form.cart button.button{
		flex:1 1 auto; min-width:200px; display:inline-flex; align-items:center; justify-content:center; gap:10px;
		background:var(--td-yellow); color:var(--td-ink); border:3px solid var(--td-ink); border-radius:0; cursor:pointer;
		font-family:var(--td-font-display); font-weight:400; font-size:22px; letter-spacing:.01em; text-transform:uppercase; line-height:1;
		padding:15px 24px; transition:transform .15s var(--td-ease),background-color .18s ease,box-shadow .15s var(--td-ease);
	}
	@media(hover:hover){ .td-sp .single_add_to_cart_button:hover{ background:var(--td-yellow-deep); transform:translate(-3px,-3px); box-shadow:6px 6px 0 var(--td-ink); } }
	.td-sp .single_add_to_cart_button:active{ transform:scale(.99); }

	/* Variabel-produkt */
	.td-sp table.variations{ width:100%; border-collapse:collapse; margin:0 0 14px; }
	.td-sp table.variations th{ text-align:left; padding:8px 12px 8px 0; vertical-align:middle; font-family:var(--td-font-mono); font-size:12px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--td-ink-soft); white-space:nowrap; }
	.td-sp table.variations td{ padding:6px 0; }
	.td-sp table.variations select{ width:100%; padding:12px 40px 12px 12px; border:2px solid var(--td-ink); border-radius:0; background:var(--td-bg); font-family:var(--td-font-body); font-size:15px; color:var(--td-ink); -webkit-appearance:none; appearance:none;
		background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230B0B0B' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; }
	.td-sp .reset_variations{ font-family:var(--td-font-mono); font-size:12px; color:var(--td-ink-soft); text-decoration:underline; }
	.td-sp .woocommerce-variation-price .price{ margin:10px 0; }
	.td-sp .woocommerce-variation-availability{ margin:8px 0; }

	/* Lagerstatus */
	.td-sp .stock{ font-family:var(--td-font-mono); font-size:12px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
	.td-sp .stock.in-stock{ color:#1A7F37; }
	.td-sp .stock.in-stock::before{ content:"● "; }
	.td-sp .stock.out-of-stock{ color:var(--td-sale); }

	/* Meta */
	.td-sp .product_meta{ font-family:var(--td-font-mono); font-size:12.5px; color:var(--td-ink-soft); border-top:2px solid var(--td-line); padding-top:14px; line-height:1.9; }
	.td-sp .product_meta > span{ display:block; }
	.td-sp .product_meta .label,.td-sp .product_meta strong{ color:var(--td-ink); }
	.td-sp .product_meta a{ color:var(--td-ink); text-decoration:underline; text-underline-offset:2px; }

	/* USP-strip */
	.td-sp__usp{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:18px 0 0; }
	.td-sp__usp-item{ display:flex; align-items:center; gap:9px; padding:12px; background:var(--td-bg-2); border:2px solid var(--td-line); font-size:12.5px; font-weight:600; color:var(--td-ink); line-height:1.25; }
	.td-sp__usp-item svg{ width:20px; height:20px; flex:0 0 auto; color:var(--td-ink); }
	@media(max-width:560px){ .td-sp__usp{ grid-template-columns:1fr; } }

	/* ── FANER ── */
	.td-sp .woocommerce-tabs{ margin-top:clamp(34px,5vw,60px); }
	.td-sp .woocommerce-tabs ul.tabs{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 -2px; padding:0; list-style:none; position:relative; z-index:1; }
	.td-sp .woocommerce-tabs ul.tabs::before{ display:none; }
	.td-sp .woocommerce-tabs ul.tabs li{ margin:0; padding:0; background:transparent; border:none; }
	.td-sp .woocommerce-tabs ul.tabs li a{ display:block; padding:12px 20px; background:var(--td-bg-2); border:2px solid var(--td-ink); border-bottom:none; font-family:var(--td-font-mono); font-weight:600; font-size:13px; letter-spacing:.04em; text-transform:uppercase; color:var(--td-ink-soft); text-decoration:none; }
	.td-sp .woocommerce-tabs ul.tabs li.active a{ background:var(--td-yellow); color:var(--td-ink); }
	.td-sp .woocommerce-tabs .woocommerce-Tabs-panel,
	.td-sp .woocommerce-tabs .panel{ background:var(--td-bg); border:2px solid var(--td-ink); box-shadow:6px 6px 0 rgba(11,11,11,.08); padding:clamp(20px,3vw,32px); margin:0; }
	.td-sp .woocommerce-tabs .panel h2,
	.td-sp .woocommerce-Tabs-panel h2{ font-family:var(--td-font-display); font-weight:400; text-transform:uppercase; font-size:24px; color:var(--td-ink); margin:0 0 14px; }
	.td-sp .woocommerce-tabs .panel p{ line-height:1.65; color:var(--td-ink-soft); }
	.td-sp .shop_attributes{ width:100%; border-collapse:collapse; }
	.td-sp .shop_attributes th,.td-sp .shop_attributes td{ text-align:left; padding:10px 14px; border:1px solid var(--td-line); font-size:14px; }
	.td-sp .shop_attributes th{ background:var(--td-bg-2); font-family:var(--td-font-mono); font-size:12px; letter-spacing:.04em; text-transform:uppercase; color:var(--td-ink); width:30%; }

	/* Anmeldelser */
	.td-sp #reviews .commentlist{ list-style:none; margin:0; padding:0; }
	.td-sp #reviews .commentlist li{ border:2px solid var(--td-line); padding:16px; margin:0 0 12px; background:var(--td-bg); }
	.td-sp #reviews .comment-form input[type="text"],
	.td-sp #reviews .comment-form input[type="email"],
	.td-sp #reviews .comment-form textarea{ width:100%; padding:12px 14px; border:2px solid var(--td-ink); border-radius:0; font-family:var(--td-font-body); font-size:15px; }
	.td-sp #reviews .comment-form textarea:focus,
	.td-sp #reviews .comment-form input:focus{ outline:none; box-shadow:0 0 0 3px rgba(255,212,0,.55); }
	.td-sp #reviews .submit,.td-sp #review_form .submit{ background:var(--td-ink); color:var(--td-yellow); border:2px solid var(--td-ink); border-radius:0; font-family:var(--td-font-mono); font-weight:600; font-size:13px; letter-spacing:.04em; text-transform:uppercase; padding:13px 22px; cursor:pointer; }

	/* ── RELATED / UPSELLS ── */
	.td-sp .related,.td-sp .up-sells{ margin-top:clamp(40px,6vw,72px); clear:both; display:block; width:100%; }
	.td-sp .related > h2,.td-sp .up-sells > h2{ font-family:var(--td-font-display); font-weight:400; text-transform:uppercase; font-size:clamp(24px,3.4vw,38px); color:var(--td-ink); margin:0 0 6px; }
	.td-sp .related > h2::after,.td-sp .up-sells > h2::after{ content:""; display:block; width:64px; height:5px; background:var(--td-yellow); border:2px solid var(--td-ink); margin-top:10px; }
	/* Vigtigt: kun selve <ul class="products"> er grid — IKKE <section class="… products">,
	 * ellers lægges overskrift + ul i et 4-kolonners grid og kortene klemmes flade. */
	.td-sp ul.products{ display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(12px,1.6vw,20px); margin:24px 0 0 !important; padding:0; list-style:none; width:100%; float:none; }
	@media(max-width:900px){ .td-sp ul.products{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
	@media(max-width:680px){ .td-sp ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
	.td-sp ul.products li.product{ width:auto !important; margin:0 !important; padding:0 !important; float:none !important; display:flex; flex-direction:column; background:var(--td-bg); border:2px solid var(--td-ink); box-shadow:5px 5px 0 rgba(11,11,11,.08); position:relative; transition:transform .16s var(--td-ease),box-shadow .16s var(--td-ease); }
	@media(hover:hover){ .td-sp ul.products li.product:hover{ transform:translate(-3px,-3px); box-shadow:8px 8px 0 var(--td-ink); } }
	.td-sp ul.products li.product .woocommerce-loop-product__link{ display:flex; flex-direction:column; flex:1; text-decoration:none; color:inherit; }
	.td-sp ul.products li.product img{ width:100%; aspect-ratio:1/1; object-fit:contain; padding:clamp(10px,4%,18px); background:var(--td-bg); border-bottom:2px solid var(--td-ink); margin:0 !important; }
	.td-sp ul.products li.product .woocommerce-loop-product__title{ font-family:var(--td-font-body); font-weight:600; font-size:14.5px; line-height:1.3; color:var(--td-ink); padding:12px 14px 4px; margin:0; }
	.td-sp ul.products li.product .price{ font-family:var(--td-font-display); font-weight:400; font-size:22px; padding:4px 14px 0; margin:auto 0 0; display:flex; gap:8px; align-items:baseline; }
	.td-sp ul.products li.product .price del{ font-size:13px; }
	.td-sp ul.products li.product .star-rating{ margin:6px 14px 0; font-size:13px; }
	.td-sp ul.products li.product .button,
	.td-sp ul.products li.product .added_to_cart{ margin:12px; display:inline-flex; align-items:center; justify-content:center; background:var(--td-yellow); color:var(--td-ink); border:2px solid var(--td-ink); border-radius:0; font-family:var(--td-font-mono); font-weight:600; font-size:12px; letter-spacing:.04em; text-transform:uppercase; padding:11px 12px; text-decoration:none; transition:background-color .16s ease; }
	@media(hover:hover){ .td-sp ul.products li.product .button:hover{ background:var(--td-yellow-deep); } }
	.td-sp ul.products li.product .onsale{ position:absolute; top:8px; right:8px; left:auto; transform:none; min-width:auto; height:auto; padding:4px 8px; font-size:12px; box-shadow:none; }

	/* Notices */
	.td-sp .woocommerce-message,.td-sp .woocommerce-error,.td-sp .woocommerce-info{ list-style:none; border:2px solid var(--td-ink); background:var(--td-bg); padding:13px 16px; margin:0 0 16px; font-size:14px; font-weight:500; }
	.td-sp .woocommerce-message{ background:var(--td-yellow-soft); }
	.td-sp .woocommerce-error{ background:#FDE7EC; border-color:var(--td-sale); }
	.td-sp .woocommerce-message .button,.td-sp .woocommerce-info .button{ background:var(--td-ink); color:var(--td-yellow); border:2px solid var(--td-ink); border-radius:0; font-family:var(--td-font-mono); font-weight:600; font-size:12px; text-transform:uppercase; padding:8px 14px; margin-left:10px; }

	/* ── RESPONSIVE ── */
	@media(max-width:880px){ .td-sp__top{ grid-template-columns:1fr; gap:24px; } }
	@media(prefers-reduced-motion:reduce){ .td-sp *{ transition-duration:.01ms !important; } .td-sp span.onsale{ transform:rotate(-8deg) !important; } }