/* Loaded only while a campaign is enabled; checkout structure and prices are unchanged. */
.campaign-active { --color-bordo:var(--campaign-ink); --color-mor:var(--campaign-accent); }
.campaign-active.campaign-bold { --color-bordo:#49344f; }
.campaign-announcement { display:flex; align-items:center; justify-content:center; gap:14px; background:var(--campaign-bg); color:var(--campaign-ink); text-decoration:none; font-size:12px; }
.campaign-announcement .icon { width:16px; height:16px; }
.campaign-announcement:hover { text-decoration:underline; text-underline-offset:4px; }
.campaign-active .campaign-nav-link { font-weight:650; border-bottom:2px solid currentColor; }
.campaign-hero { display:grid; grid-template-columns:1.05fr 1fr; isolation:isolate; position:relative; margin-top:26px; overflow:hidden; border-radius:12px; min-height:540px; background:var(--campaign-bg); color:var(--campaign-ink); }
.campaign-copy { padding:58px 46px; align-self:center; position:relative; z-index:2; }
.campaign-eyebrow { display:flex; align-items:center; gap:10px; font-size:10px; font-weight:650; letter-spacing:1.8px; line-height:1.8; }
.campaign-eyebrow > span { width:7px; height:7px; flex-shrink:0; background:var(--campaign-accent); border-radius:50%; box-shadow:0 0 0 5px color-mix(in srgb,var(--campaign-accent) 12%,transparent); }
.campaign-copy h1 { font:400 clamp(40px,4.5vw,65px)/1.08 Georgia,serif; letter-spacing:-2px; margin:28px 0 22px; overflow-wrap:anywhere; max-width:600px; }
.campaign-copy h1 em { display:block; font-weight:400; color:var(--campaign-accent); }
.campaign-copy p { max-width:390px; font-size:14px; line-height:1.9; opacity:.88; margin:0 0 28px; }
.campaign-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.storefront .campaign-button { background:var(--campaign-accent); color:var(--campaign-bg); border:1px solid transparent; min-height:48px; padding:13px 20px; font-size:12px; font-weight:650; }
.campaign-soft .campaign-button { color:#fff; }
.storefront .campaign-button:hover { background:var(--campaign-ink); color:var(--campaign-bg); }
.campaign-secondary { font-size:11px; text-decoration:underline; text-underline-offset:5px; }
.campaign-signature { display:block; margin-top:28px; font-size:10px; letter-spacing:.3px; opacity:.72; }
.campaign-stage { position:relative; display:grid; align-content:center; min-width:0; overflow:hidden; background:var(--campaign-panel); padding:80px 26px 75px; }
.campaign-stage::before { content:''; position:absolute; inset:24px; border:1px solid var(--campaign-accent); opacity:.22; border-radius:180px 180px 8px 8px; }
.campaign-stage-decoration { position:absolute; width:240px; height:240px; right:-36px; top:-25px; color:var(--campaign-accent); opacity:.4; transform:rotate(15deg); }
.campaign-motif { display:block; width:100%; height:100%; }
.campaign-stage-word { position:absolute; top:36px; left:18px; right:18px; text-align:center; font:400 clamp(70px,8vw,122px)/1 Georgia,serif; letter-spacing:4px; opacity:.1; white-space:nowrap; }
.campaign-pieces { display:flex; align-items:center; justify-content:center; gap:18px; z-index:1; min-width:0; }
.campaign-piece { position:relative; width:46%; max-width:240px; min-width:0; padding:9px 9px 15px; color:#3f343a; background:#fffefa; box-shadow:0 20px 38px #0002; transition:transform .22s; border-radius:100px 100px 5px 5px; }
.campaign-piece-1 { transform:translateY(-12px) rotate(-7deg); }
.campaign-piece-2 { transform:translateY(30px) rotate(7deg); }
.campaign-piece-1:hover { transform:translateY(-20px) rotate(-3deg); }
.campaign-piece-2:hover { transform:translateY(22px) rotate(3deg); }
.campaign-piece-image { aspect-ratio:4/5; background:#fff; border-radius:100px 100px 0 0; overflow:hidden; }
.campaign-piece img { width:100%; height:100%; object-fit:contain; }
.campaign-piece-info { padding:11px 21px 0 3px; }
.campaign-piece-info > span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:10px; line-height:1.5; min-height:3em; }
.campaign-piece-info > strong { display:block; font-size:12px; font-weight:600; margin-top:6px; }
.campaign-piece-arrow { position:absolute; bottom:18px; right:10px; font-size:19px; }
.campaign-seal { position:absolute; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; width:102px; height:102px; bottom:44px; left:50%; transform:translateX(-50%) rotate(-12deg); border:1px solid var(--campaign-accent); border-radius:50%; background:var(--campaign-bg); color:var(--campaign-ink); z-index:2; box-shadow:0 0 0 5px var(--campaign-bg),0 0 0 6px color-mix(in srgb,var(--campaign-accent) 40%,transparent); }
.campaign-seal > span { font-size:8px; letter-spacing:2px; }
.campaign-seal > .icon { width:18px; height:18px; color:var(--campaign-accent); }
.campaign-seal > strong { font-size:7px; font-weight:600; text-align:center; letter-spacing:1px; padding:0 10px; }
.campaign-stage-caption { position:absolute; bottom:20px; left:15px; right:15px; font-size:8px; letter-spacing:2px; text-align:center; }
.campaign-placeholder { width:210px; min-height:250px; display:flex; align-items:center; flex-direction:column; justify-content:center; gap:20px; color:var(--campaign-ink); }
.campaign-placeholder .campaign-motif { width:150px; height:150px; }
.campaign-placeholder > span { font:32px Georgia,serif; }
.campaign-active .category-symbol { color:var(--campaign-ink); background:var(--campaign-wash); }
.campaign-active.campaign-bold .category-symbol { color:#49344f; }
.campaign-active .product-card .badge-discount { background:var(--campaign-bg); color:var(--campaign-ink); border-color:var(--campaign-accent); }
.campaign-active .product-card .thumb { border-color:var(--campaign-wash); }
.campaign-invitation { display:flex; align-items:center; gap:32px; padding:36px; margin:48px 0; background:var(--campaign-bg); color:var(--campaign-ink); border-radius:10px; }
.campaign-invitation > .campaign-motif { width:94px; height:94px; flex-shrink:0; color:var(--campaign-accent); }
.campaign-invitation > div { flex:1; }
.campaign-invitation .eyebrow { color:var(--campaign-accent); }
.campaign-invitation h2 { font:400 29px/1.3 Georgia,serif; margin:10px 0; }
.campaign-invitation p { font-size:12px; line-height:1.8; opacity:.8; margin-bottom:0; }
.campaign-filters { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px; margin:0 0 28px; border:1px solid var(--color-border); border-radius:8px; background:var(--campaign-wash); }
.campaign-filters > div { display:flex; gap:10px; }
.campaign-filters .form-control { width:auto; max-width:100%; font-size:12px; }
.campaign-sale-filter { display:flex; align-items:center; gap:9px; font-size:12px; }
.campaign-sale-filter input { width:17px; height:17px; accent-color:#6c3f74; }
.campaign-sale-filter span { color:#6a626a; }
.campaign-pagination { display:flex; align-items:center; justify-content:center; gap:20px; margin:32px 0; font-size:13px; }
.theme-november .campaign-stage-word::after { content:'KASIM'; display:block; font:700 25px/1 'Segoe UI',sans-serif; letter-spacing:22px; margin-top:16px; }
.theme-november .campaign-piece, .theme-black-friday .campaign-piece, .theme-cyber-monday .campaign-piece { border-radius:7px; }
.theme-november .campaign-piece-image, .theme-black-friday .campaign-piece-image, .theme-cyber-monday .campaign-piece-image { border-radius:3px; }
.theme-black-friday .campaign-copy h1, .theme-cyber-monday .campaign-copy h1 { font-family:'Segoe UI',sans-serif; font-weight:650; font-size:clamp(36px,4.2vw,60px); }
.theme-black-friday .campaign-copy h1 em, .theme-cyber-monday .campaign-copy h1 em { font-style:normal; }
.theme-cyber-monday .campaign-stage { background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px); background-size:30px 30px; }
.theme-singles .campaign-stage-word { font:700 clamp(100px,14vw,200px)/1 'Segoe UI',sans-serif; letter-spacing:-12px; opacity:.12; }
.theme-valentines .campaign-stage::before { inset:34px; border-radius:48% 48% 5px 5px; }
.theme-valentines .campaign-stage-decoration { top:-10px; right:-25px; width:285px; height:285px; transform:rotate(20deg); }
.theme-valentines .campaign-seal { border-radius:50% 50% 45% 45%; }
.theme-womens-day .campaign-stage-decoration, .theme-mothers-day .campaign-stage-decoration { width:330px; height:330px; top:-95px; right:-90px; opacity:.3; }
.theme-wedding .campaign-stage::before, .theme-anniversary .campaign-stage::before { border-radius:5px; inset:20px; outline:1px solid var(--campaign-accent); outline-offset:-7px; }
.theme-new-year .campaign-stage { background-image:radial-gradient(circle at 20% 15%,#e7c88b88 1px,transparent 2px),radial-gradient(circle at 70% 80%,#e7c88b66 1px,transparent 2px); background-size:49px 59px,73px 89px; }
.theme-summer .campaign-stage::before { border-radius:50%; inset:22px -35px; background:var(--campaign-accent); opacity:.1; }
.theme-summer .campaign-stage-decoration { top:-50px; width:270px; height:270px; right:-60px; }
@media(max-width:1050px) {
  .campaign-copy { padding:38px 30px; } .campaign-hero { min-height:480px; }
  .campaign-copy h1 { font-size:46px; } .campaign-stage { padding:80px 22px; }
  .campaign-actions { gap:16px; } .campaign-pieces { gap:12px; }
  .campaign-invitation { padding:28px; gap:24px; } .campaign-invitation > .campaign-motif { width:65px; height:65px; }
}
@media(max-width:700px) {
  .campaign-announcement { font-size:10px; gap:8px; padding:10px 15px; } .campaign-announcement .icon { width:13px; height:13px; }
  .campaign-hero { grid-template-columns:minmax(0,1fr); margin-top:18px; border-radius:9px; }
  .campaign-copy { padding:32px 25px; } .campaign-copy h1 { font-size:43px; letter-spacing:-1.4px; margin:22px 0 18px; }
  .campaign-copy p { font-size:13px; margin-bottom:22px; } .campaign-eyebrow { font-size:8px; letter-spacing:1.2px; }
  .campaign-signature { margin-top:20px; font-size:9px; } .campaign-secondary { font-size:10px; }
  .campaign-stage { min-height:350px; padding:45px 25px 65px; } .campaign-piece { max-width:165px; }
  .campaign-piece-image { aspect-ratio:1/1; } .campaign-piece-info > span { font-size:9px; } .campaign-piece-info > strong { font-size:11px; }
  .campaign-piece-1 { transform:translateY(-5px) rotate(-6deg); } .campaign-piece-2 { transform:translateY(15px) rotate(6deg); }
  .campaign-seal { width:80px; height:80px; bottom:33px; gap:4px; } .campaign-seal > strong { font-size:6px; } .campaign-seal > span { font-size:7px; }
  .campaign-stage-caption { font-size:7px; letter-spacing:1.4px; bottom:14px; } .campaign-stage-word { font-size:80px; top:20px; }
  .campaign-stage-decoration { width:160px; height:160px; } .theme-valentines .campaign-stage-decoration { width:200px; height:200px; }
  .campaign-invitation { flex-wrap:wrap; gap:20px; padding:25px; margin:30px 0; } .campaign-invitation > .campaign-motif { width:48px; height:48px; }
  .campaign-invitation h2 { font-size:25px; } .campaign-invitation > div { flex:1 1 190px; } .campaign-invitation > .btn { width:100%; }
  .campaign-filters { flex-direction:column; align-items:stretch; padding:14px; } .campaign-filters .form-control { flex:1; min-width:0; }
  .campaign-filters .btn { padding-left:15px; padding-right:15px; }
}
@media(prefers-reduced-motion:reduce) { .campaign-piece { transition:none; } }
