/* AVRY Kampanjer – använder temats färger om de finns (Hairspace: --hs-*) */
.avc, .avc-home, .avc-pbox, .avc-badge {
	--avc-ink: var(--hs-ink, #1c1a17);
	--avc-paper: var(--hs-paper, #faf7f2);
	--avc-cream: var(--hs-cream, #f5efe7);
	--avc-sand: var(--hs-sand, #e8dfd1);
	--avc-gold: var(--hs-champagne, #b0996f);
	--avc-muted: #6b655d;
	--avc-display: var(--hs-font-display, Georgia, serif);
	--avc-body: var(--hs-font-body, system-ui, sans-serif);
}

/* Bricka */
.avc-badge {
	display: inline-block; background: var(--avc-ink); color: var(--avc-paper) !important;
	font-family: var(--avc-body); font-size: .66rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
	line-height: 1; padding: 6px 9px 5px; border-radius: 3px; white-space: nowrap;
}
.avc-badge--lg { font-size: .78rem; padding: 8px 12px 7px; }
.woocommerce ul.products li.product { position: relative; }
.avc-badge--loop { position: absolute; top: 10px; left: 10px; z-index: 5; pointer-events: none; }
.woocommerce ul.products.hs-list li.product .avc-badge--loop { top: 18px; left: 4px; font-size: .56rem; padding: 4px 6px 3px; }
.woocommerce span.onsale { display: none !important; } /* ersätts av .avc-badge */

/* Pris: kampanjpris + "Rek. pris" */
.price .avc-now, .price ins.avc-now { text-decoration: none !important; background: none !important; font-weight: 600; }
.price .avc-was { font-size: .78em; font-weight: 400; color: var(--hs-ink-50, #8a847b); white-space: nowrap; margin-left: 4px; }
.price .avc-was del { opacity: 1 !important; color: inherit !important; }
.single-product .summary .price .avc-now, .single-product .summary .price .avc-now .amount { color: #8e2b20 !important; }
.woocommerce ul.products li.product .price .avc-now .amount { color: #8e2b20 !important; }
.hs-product-card__price .avc-now { text-decoration: none; }

/* Produktsidan */
.avc-pbox { margin: 14px 0 18px; display: grid; gap: 8px; }
.avc-pbox__row { display: flex; gap: 12px; align-items: flex-start; background: var(--avc-cream); border: 1px solid var(--avc-sand); border-radius: 8px; padding: 12px 14px; font-family: var(--avc-body); font-size: .88rem; line-height: 1.5; color: var(--avc-ink); }
.avc-pbox__row .avc-badge { flex: 0 0 auto; margin-top: 2px; }
.avc-pbox__period { color: var(--avc-muted); }
.avc-pbox a { color: var(--avc-ink) !important; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }

/* ---- Kampanjsidan ---- */
.avc { font-family: var(--avc-body); color: var(--avc-ink); }
.avc-head { max-width: 720px; margin: 0 0 30px; }
.avc-eyebrow { font-size: .7rem !important; letter-spacing: .18em; text-transform: uppercase; color: var(--avc-gold) !important; margin: 0 0 8px !important; }
.avc-h1 { font-family: var(--avc-display) !important; font-weight: 400 !important; font-size: clamp(2rem, 4vw, 2.9rem) !important; line-height: 1.1 !important; letter-spacing: 0 !important; text-transform: none !important; margin: 0 0 12px !important; color: var(--avc-ink) !important; }
.avc-h2 { font-family: var(--avc-display) !important; font-weight: 400 !important; font-size: 1.75rem !important; letter-spacing: 0 !important; text-transform: none !important; margin: 0 0 8px !important; color: var(--avc-ink) !important; }
.avc-lead { font-size: 1rem; line-height: 1.6; color: var(--avc-muted); margin: 0 !important; }
.avc-empty { font-size: .95rem; color: var(--avc-muted); margin: 20px 0; }

.avc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px 26px; }
.avc-grid--small { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px 16px; }
.avc-card { display: flex; flex-direction: column; margin: 0; }
.avc-card__media { position: relative; display: block; border-radius: 8px; overflow: hidden; background: var(--avc-cream); aspect-ratio: 2160 / 3130; }
.avc-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; margin: 0 !important; }
a.avc-card__media:hover img { transform: scale(1.025); }
.avc-card__media .avc-badge { position: absolute; top: 12px; left: 12px; }
.avc-card__body { padding: 14px 2px 0; display: flex; flex-direction: column; gap: 6px; flex: 1 1 auto; }
.avc-card__period .avc-badge { display: table; margin: 0 0 8px; letter-spacing: .06em; }
.avc-card__period { line-height: 1.9 !important; font-size: .68rem !important; letter-spacing: .14em; text-transform: uppercase; color: var(--avc-gold) !important; margin: 0 !important; font-weight: 500; }
.avc-card__title { font-family: var(--avc-display) !important; font-size: 1.45rem !important; font-weight: 500 !important; line-height: 1.2 !important; letter-spacing: 0 !important; text-transform: none !important; margin: 0 !important; }
.avc-card__title a { color: var(--avc-ink) !important; text-decoration: none !important; }
.avc-card__title a:hover { text-decoration: underline !important; text-underline-offset: 4px; }
.avc-card__text { font-size: .9rem !important; line-height: 1.55 !important; color: var(--avc-muted); margin: 0 !important; }
.avc-card__price { font-size: .9rem !important; font-weight: 600; margin: 0 !important; color: var(--avc-ink); }
.avc-card__cta { margin-top: auto; padding-top: 6px; font-size: .74rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--avc-ink) !important; text-decoration: none !important; }
.avc-card__cta:hover { color: var(--avc-gold) !important; }
.avc-card--upcoming .avc-card__media img { filter: saturate(.85); opacity: .9; }
.avc-card--upcoming .avc-card__title { font-size: 1.05rem !important; }
.avc-card--upcoming .avc-card__period { display: none; }
.avc-card__soon { position: absolute; left: 10px; bottom: 10px; background: rgba(250,247,242,.94); color: var(--avc-ink); font-size: .62rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; padding: 6px 9px 5px; border-radius: 3px; }
.avc-upcoming { margin-top: 64px; padding-top: 36px; border-top: 1px solid var(--avc-sand); }
.avc-upcoming__lead { color: var(--avc-muted); margin: 0 0 22px !important; }
.avc-noimg { display: grid; place-items: center; height: 100%; font-family: var(--avc-display); font-size: 2rem; color: var(--avc-gold); }

/* Kampanjens egen sida */
.avc-back { margin: 0 0 18px !important; font-size: .82rem; }
.avc-back a { color: var(--avc-ink) !important; text-decoration: none !important; }
.avc-back a:hover { text-decoration: underline !important; }
.avc-hero { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 44px; align-items: start; margin-bottom: 56px; }
.avc-hero__media { border-radius: 10px; overflow: hidden; background: var(--avc-cream); }
.avc-hero__media img { width: 100%; height: auto; display: block; margin: 0 !important; }
.avc-hero__body { padding-top: 10px; }
.avc-hero__body > .avc-badge { margin-bottom: 14px; }
.avc-hero__period { font-size: .72rem !important; letter-spacing: .14em; text-transform: uppercase; color: var(--avc-gold) !important; margin: 0 0 8px !important; font-weight: 500; }
.avc-hero__lead { font-family: var(--avc-display); font-size: 1.35rem !important; line-height: 1.45 !important; margin: 0 0 16px !important; color: var(--avc-ink); }
.avc-hero__text { font-size: .95rem; line-height: 1.7; color: var(--avc-muted); }
.avc-hero__text p { margin: 0 0 12px !important; }
.avc-hero__price { font-size: 1.1rem !important; font-weight: 600; margin: 4px 0 18px !important; }
.avc-btn { display: inline-block; background: var(--avc-ink); color: var(--avc-paper) !important; border: 1px solid var(--avc-ink); border-radius: 4px; padding: 15px 30px; font-size: .74rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; text-decoration: none !important; transition: background .2s, color .2s; }
.avc-btn:hover { background: transparent; color: var(--avc-ink) !important; }
.avc-terms { font-size: .78rem !important; line-height: 1.5 !important; color: var(--avc-muted); margin: 18px 0 0 !important; }
.avc-products { scroll-margin-top: 20px; }
.avc-products .avc-h2 { margin-bottom: 20px !important; }
.avc-count { font-family: var(--avc-body); font-size: .8rem; color: var(--avc-muted); vertical-align: middle; margin-left: 6px; }

/* Sidan i X Pro: ingen vit ruta, egen H1 */
body.avc-page .x-main > article > .entry-wrap,
body.avc-page .x-main > .entry-wrap { background: transparent !important; box-shadow: none !important; padding: 10px 0 30px !important; }
body.avc-page .entry-header .entry-title, body.avc-page .x-main .entry-title { display: none !important; }

/* ---- Startsidan ---- */
.avc-home { background: var(--avc-paper); padding: 56px 0 8px; }
.avc-home__inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.avc-home__head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 26px; }
.avc-home__title { margin: 0 !important; }
.avc-home__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.avc-hcard { display: grid; grid-template-columns: minmax(0, 42%) minmax(0, 1fr); background: #fff; border: 1px solid var(--avc-sand); border-radius: 10px; overflow: hidden; text-decoration: none !important; color: var(--avc-ink) !important; transition: box-shadow .25s, transform .25s; }
.avc-hcard:hover { box-shadow: 0 10px 30px rgba(28,26,23,.08); transform: translateY(-2px); }
.avc-hcard__media { display: block; aspect-ratio: 2160 / 3130; background: var(--avc-cream); overflow: hidden; }
.avc-hcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0 !important; }
.avc-hcard__body { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 26px 24px; }
.avc-hcard__title { font-family: var(--avc-display); font-size: 1.7rem; line-height: 1.15; font-weight: 400; }
.avc-hcard__text { font-size: .9rem; line-height: 1.55; color: var(--avc-muted); }
.avc-hcard__price { font-size: .95rem; font-weight: 600; }
.avc-hcard__period { font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--avc-gold); font-weight: 500; }
.avc-hcard__cta { margin-top: auto; font-size: .72rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; border-bottom: 1px solid var(--avc-ink); padding-bottom: 3px; }

/* ---- Responsivt ---- */
@media (max-width: 1000px) {
	.avc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.avc-grid--small { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.avc-home__grid { grid-template-columns: 1fr; }
	.avc-hcard { grid-template-columns: minmax(0, 36%) minmax(0, 1fr); }
}
@media (max-width: 767px) {
	.avc-head { margin-bottom: 22px; }
	.avc-grid { gap: 26px 12px; }
	.avc-grid--small { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
	.avc-card__title { font-size: 1.15rem !important; }
	.avc-card__text { font-size: .8rem !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
	.avc-card__cta { font-size: .66rem; letter-spacing: .1em; }
	.avc-card__media .avc-badge { top: 8px; left: 8px; }
	.avc-hero { grid-template-columns: 1fr; gap: 22px; margin-bottom: 36px; }
	.avc-hero__media { max-width: 420px; }
	.avc-hero__lead { font-size: 1.15rem !important; }
	.avc-btn { display: block; text-align: center; }
	.avc-home { padding: 36px 0 4px; }
	.avc-home__inner { padding: 0 16px; }
	.avc-home__head { margin-bottom: 16px; }
	.avc-home__grid { gap: 14px; }
	.avc-hcard__body { padding: 16px 14px; gap: 7px; }
	.avc-hcard__title { font-size: 1.3rem; }
	.avc-hcard__text { font-size: .8rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
	.avc-pbox__row { font-size: .82rem; padding: 10px 12px; }
	.price .avc-was { display: inline-block; }
}

/* ---- Sök i kampanjen + sortering (v1.1) ---- */
.avc-toolbar { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; }
.avc-search { position: relative; flex: 1 1 auto; max-width: 440px; margin: 0 !important; }
.avc-search__icon { position: absolute; left: 13px; top: 50%; width: 17px; height: 17px; transform: translateY(-50%); color: var(--avc-muted, #6b655d); pointer-events: none; }
.avc-search input[type="search"] {
	width: 100% !important; height: 42px !important; margin: 0 !important; padding: 0 14px 0 38px !important; box-sizing: border-box;
	border: 1px solid var(--hs-sand, #e8dfd1) !important; border-radius: 999px !important; background: #fff !important; box-shadow: none !important;
	font-family: var(--hs-font-body, inherit) !important; font-size: .9rem !important; color: var(--hs-ink, #1c1a17) !important;
}
.avc-search input[type="search"]:focus { border-color: var(--hs-ink, #1c1a17) !important; outline: none; }
.avc-search.is-loading .avc-search__icon { animation: avc-pulse .8s ease-in-out infinite alternate; }
@keyframes avc-pulse { from { opacity: 1; } to { opacity: .3; } }
.avc-toolbar .woocommerce-ordering { margin: 0 0 0 auto !important; float: none !important; flex: 0 0 auto; }
.avc-toolbar .woocommerce-ordering select {
	height: 42px !important; margin: 0 !important; padding: 0 32px 0 14px !important; border: 1px solid var(--hs-sand, #e8dfd1) !important;
	border-radius: 999px !important; background-color: #fff !important; box-shadow: none !important; font-size: .85rem !important; color: var(--hs-ink, #1c1a17) !important;
}
.avc-results ul.products li.product[hidden] { display: none !important; }
.avc-noresult { margin: 8px 0 30px !important; font-size: .95rem; color: var(--avc-muted, #6b655d); }
.avc-noresult a { color: var(--hs-ink, #1c1a17) !important; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
	.avc-toolbar { gap: 8px; margin-bottom: 14px; }
	.avc-search { max-width: none; }
	.avc-search input[type="search"] { height: 40px !important; font-size: 16px !important; }
	.avc-toolbar .woocommerce-ordering select { height: 40px !important; max-width: 152px; font-size: .78rem !important; padding: 0 26px 0 12px !important; }
}
