/* Campaign offers: Derma Revive colours, Nunito body and Unna headings. */
.dr-offers-hub,.dr-offer-single{--dr-offer-green:#3d5444;--dr-offer-ink:#2b2b2c;--dr-offer-surface:#eceaeb;--dr-offer-border:#eceaeb;color:var(--dr-offer-ink)}
.dr-offers-container{width:min(1200px,calc(100% - 48px));margin-inline:auto}
.dr-offers-list{padding-block:40px 72px}
.dr-offer-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.dr-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.dr-offer-card{display:flex;flex-direction:column;border:1px solid var(--dr-offer-border);border-radius:0;overflow:hidden;background:#fff;margin:0}
.dr-offer-card-link{display:flex;flex:1;flex-direction:column;text-decoration:none;color:inherit}
.dr-offer-card-link:hover{color:inherit}
.dr-offer-card-image{aspect-ratio:4/3;overflow:hidden;background:var(--dr-offer-surface)}
.dr-offer-card-image img{width:100%;height:100%;object-fit:cover;margin:0}
.dr-offer-image-placeholder{display:flex;height:100%;min-height:220px;align-items:center;justify-content:center;font-family:Unna,Georgia,serif;font-size:32px;color:var(--dr-offer-green)}
.dr-offer-card-copy{padding:16px;display:flex;flex:1;flex-direction:column}
.dr-offer-card h2{font-size:28px;line-height:1.15;margin:0 0 10px}
.dr-offer-card-copy>p{font-size:15px;line-height:1.5;margin:0 0 10px}.dr-offer-card .dr-offer-price{margin:8px 0 0}
.dr-offer-eyebrow{text-transform:uppercase;font-size:12px!important;font-weight:800;letter-spacing:.12em;margin:0 0 12px}
.dr-offer-price{font-size:27px;font-weight:800;line-height:1.4;margin:12px 0 18px}
.dr-offer-price>span:first-child:not(.woocommerce-Price-amount){font-size:15px}
.dr-offer-price del{font-size:17px;font-weight:400;color:#545454;white-space:nowrap}
.dr-offer-saving{display:block;color:var(--dr-offer-green);font-size:14px;font-weight:800;margin-top:6px}
.dr-offer-card a.button.dr-offer-card-cta{display:block;width:calc(100% - 32px);margin:0 16px 16px;box-sizing:border-box}
.dr-offer-single{padding-top:155px;padding-bottom:70px}
.dr-offer-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start;padding-block:24px 60px}
.dr-offer-hero-image{border-radius:0;overflow:hidden;background:var(--dr-offer-surface)}
.dr-offer-hero-image img{width:100%;height:auto;margin:0}
.dr-offer-hero h1{font-size:clamp(34px,3.5vw,52px);line-height:1.1;margin:16px 0 22px}
.dr-offer-intro{font-size:18px;line-height:1.65}
.dr-offer-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 16px}
.dr-offer-terms-link,.dr-offer-end-date{font-size:14px}
.dr-offer-purchase{background:var(--dr-offer-surface);padding:48px 0;scroll-margin-top:30px}
.dr-offer-single h2{font-size:36px;line-height:1.2;margin-top:0;margin-bottom:24px}
.dr-offer-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.dr-offer-product-grid:has(>.dr-offer-product:only-child){grid-template-columns:1fr}
.dr-offer-product{padding:28px;background:#fff;border:1px solid var(--dr-offer-border);border-radius:0;min-width:0}
.dr-offer-product h3{font-size:28px;margin:0 0 16px}
.dr-offer-product-price{font-size:22px;font-weight:800;margin-bottom:18px}
.dr-offer-product table.variations{width:100%;border:0;border-collapse:collapse;margin:20px 0}
.dr-offer-product table.variations th,.dr-offer-product table.variations td{background:transparent;border:0;text-align:left;padding:8px 0;vertical-align:top}
.dr-offer-product table.variations select{width:100%;max-width:100%;min-height:44px;font:inherit;padding:10px;border:1px solid var(--dr-offer-border);background:#fff;border-radius:0}
.dr-offer-product .reset_variations{display:block;margin-top:8px;font-size:14px}
.dr-offer-product .single_variation_wrap{margin-top:18px}
.dr-offer-product .woocommerce-variation-price{margin-bottom:18px}
.dr-offer-product form.cart{margin:0;display:block}
.dr-offer-product .quantity{display:inline-block;margin:0 10px 12px 0;vertical-align:middle}
.dr-offer-product input.qty{width:65px;min-height:48px;padding:8px;border:1px solid var(--dr-offer-border)}
.dr-offer-purchase button.disabled{opacity:.5;cursor:not-allowed}
.dr-offer-purchase-note{font-size:14px;margin:24px 0 0}
.dr-offer-facts-section{padding:56px 0;border-bottom:1px solid var(--dr-offer-border)}
.dr-offer-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0}
.dr-offer-facts dt{font-size:14px;font-weight:800;margin-bottom:8px;color:var(--dr-offer-green)}
.dr-offer-facts dd{font-size:16px;line-height:1.6;margin:0}
.dr-offer-details,.dr-offer-terms,.dr-offer-related{padding-block:48px;scroll-margin-top:30px}
.dr-offer-details .entry-content,.dr-offer-terms .entry-content{max-width:900px;font-size:17px;line-height:1.75}
.dr-offer-single a:focus-visible,.dr-offers-hub a:focus-visible,.dr-offer-single button:focus-visible{outline:3px solid #caa23f;outline-offset:4px}
@media(max-width:1024px){.dr-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dr-offer-hero{gap:28px}.dr-offer-single{padding-top:120px}}
@media(max-width:767px){.dr-offers-container{width:calc(100% - 32px)}.dr-offers-list{padding-top:24px}.dr-offer-grid,.dr-offer-hero,.dr-offer-product-grid{grid-template-columns:1fr}.dr-offer-single{padding-top:100px;padding-bottom:130px}.dr-offer-hero{gap:24px;padding-block:12px 32px}.dr-offer-hero h1{font-size:36px}.dr-offer-hero-image{max-height:400px}.dr-offer-hero-image img{height:100%;object-fit:cover}.dr-offer-actions{flex-direction:column}.dr-offer-button{width:100%}.dr-offer-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.dr-offer-product{padding:20px}.dr-offer-product table.variations th,.dr-offer-product table.variations td{display:block;width:100%}.dr-offer-purchase,.dr-offer-facts-section{padding:32px 0}.dr-offer-single h2{font-size:30px}.dr-offer-details,.dr-offer-terms,.dr-offer-related{padding-block:32px}}
@media(prefers-reduced-motion:reduce){.dr-offer-single *,.dr-offers-hub *{scroll-behavior:auto!important}}

.dr-offer-hero .dr-offer-purchase-intro h2{font-size:26px;margin:20px 0 8px}
.dr-offer-purchase-intro p{font-size:15px;line-height:1.5;margin:0}

/* Campaign layouts use Derma Revive's square edges. */
.dr-offers-hub .product-category-tabs a,.dr-offer-single .product-category-tabs a,.dr-offer-single a.button,.dr-offer-single button.button{border-radius:0}

/* Original treatment grouping within the campaign layout. */
.dr-offer-package-purchase .dr-offer-product{position:relative;display:flex;flex-direction:column}
.dr-offer-package-purchase .drop-down{margin-top:auto}
.dr-offer-package-purchase .drop-down-select,.dr-offer-package-purchase .drop-down-option{border-radius:0}
.dr-offer-package-sale{align-self:flex-end;background:var(--dr-offer-green);color:#fff;padding:5px 12px;font-size:12px;text-transform:uppercase;font-weight:800;margin-bottom:12px}
.dr-offer-package-purchase .product-category-tabs a{border-radius:0}
.dr-offer-package-purchase .product-category-tabs{flex-wrap:wrap;gap:8px;margin-bottom:28px}

/* Bordered key-information panel with square edges. */
.dr-offer-facts{gap:0;border:1px solid var(--dr-offer-border);border-radius:0;overflow:hidden;background:var(--dr-offer-border)}
.dr-offer-facts>div{padding:24px;background:#fff;outline:1px solid var(--dr-offer-border)}
@media(max-width:767px){.dr-offer-facts{grid-template-columns:1fr;gap:0}.dr-offer-facts>div{padding:18px 20px}}

.dr-offer-facts dt{text-transform:uppercase;letter-spacing:.05em}
