/* 2027 calendar promo – see inc/ase-calendar-feature.php
   Card design "B1" (2026-11-06): white card, framed calendar image breaking out
   above the top edge. Selectors use the .ase-cal prefix so they beat
   .elementor-kit-6 a / h2 / p (kit CSS loads after this file). */
.ase-cal{max-width:1120px;margin:32px auto;padding:0 24px;box-sizing:border-box;font-family:futura-pt,sans-serif}
.ase-cal .ase-cal__inner{position:relative;overflow:visible;display:flex;align-items:center;gap:32px;min-height:160px;box-sizing:border-box;background:#fff;border:0;border-radius:6px;box-shadow:0 14px 40px rgba(0,0,0,.35);padding:20px 32px 20px 300px}
.ase-cal .ase-cal__img{position:absolute;left:36px;top:-76px;width:220px;height:220px;display:block;line-height:0;box-sizing:border-box;border:6px solid #fff;border-radius:4px;background:#fff;box-shadow:0 16px 30px rgba(0,0,0,.3);transform:rotate(-4deg);overflow:hidden;z-index:2}
.ase-cal .ase-cal__img img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0}
.ase-cal .ase-cal__copy{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:8px}
.ase-cal .ase-cal__head{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0}
.ase-cal .ase-cal__eyebrow{display:inline-block;background:#FFA700;color:#083855;font-weight:600;font-size:14px;line-height:20px;padding:2px 8px;border-radius:4px;margin:0}
.ase-cal .ase-cal__title{font-family:Anton,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:normal;color:#075695;font-size:30px;line-height:.95;margin:0}
.ase-cal .ase-cal__note{font-family:futura-pt,sans-serif;color:#4A5A66;font-size:14px;line-height:1.45;margin:0}
.ase-cal .ase-cal__cta{flex:0 0 auto;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:20px}
.ase-cal .ase-cal__pricebox{display:flex;flex-direction:column;align-items:flex-end;line-height:1}
.ase-cal .ase-cal__price,.ase-cal .ase-cal__price .amount{font-family:futura-pt,sans-serif;font-weight:600;font-size:30px;line-height:1.1;color:#1B1B1B;margin:0;white-space:nowrap}
.ase-cal .ase-cal__price del{opacity:.6;font-weight:400}
.ase-cal .ase-cal__cur{font-family:futura-pt,sans-serif;font-size:12px;font-weight:500;letter-spacing:.08em;color:#5E6E7A;text-align:right;margin-top:2px}
.ase-cal a.ase-cal__btn{display:inline-block;background:#075695;color:#fff;font-family:futura-pt,sans-serif;font-weight:600;font-size:18px;line-height:1.3;text-align:center;text-decoration:none;padding:16px 28px;border-radius:3px;white-space:nowrap}
.ase-cal a.ase-cal__btn:hover,.ase-cal a.ase-cal__btn:focus{background:#042C44;color:#fff}

/* Under 900px: stacked, smaller breakout image */
@media (max-width:899px){
.ase-cal .ase-cal__inner{flex-direction:column;align-items:stretch;gap:16px;min-height:0;padding:104px 20px 20px}
.ase-cal .ase-cal__img{left:20px;top:-56px;width:140px;height:140px}
.ase-cal .ase-cal__title{font-size:28px}
.ase-cal .ase-cal__cta{justify-content:flex-start;gap:16px}
.ase-cal .ase-cal__pricebox{flex:0 0 auto}
.ase-cal a.ase-cal__btn{flex:1 1 auto;padding:16px 12px}
}
@media (max-width:767px){.ase-cal{margin:24px auto;padding:0 16px}}

/* Hero placement: inside the hero image, aligned to hero content */
.ase-cal--hero{width:100%;max-width:none;margin:24px 0 0;padding:0}
@media (max-width:767px){.ase-cal--hero{margin:16px 0 0}}
.ase-cal--hero-mobile{padding:0 24px 24px}
/* Homepage (8290): standalone section below the blue strip; spacing comes from
   the Elementor container around widget da06b6e (100px top, 12px bottom + 52px
   "Featured on" margin = 64px). */
.ase-cal--section{width:100%;max-width:none;margin:0;padding:0}

/* Shop (8432): card straddles the hero's bottom edge (template 9367 untouched).
   768px+: widget d1dcc67 pinned to the hero bottom and pushed 80px below it
   (half the 160px card at 1440); next section 7397223 gets the same 80px.
   768-899px: 150px (stacked card). <768px: widget a012648 stays in flow, pushed
   150px down; next section +150px. */
@media (min-width:768px){
body.page-id-8432 .elementor .elementor-element.elementor-element-d1dcc67{position:absolute;left:50%;bottom:0;width:min(1120px, calc(100% - 48px));max-width:none;margin:0;transform:translate(-50%,80px);z-index:5}
body.page-id-8432 .elementor-element-d1dcc67 .ase-cal--hero{margin:0}
body.page-id-8432 .elementor .elementor-element.elementor-element-7397223{padding-top:80px}
}
/* 768-899px: card is stacked (~300px tall) but still in the desktop hero; push it
   150px so the breakout image clears the CAD line. */
@media (min-width:768px) and (max-width:899px){
body.page-id-8432 .elementor .elementor-element.elementor-element-d1dcc67{transform:translate(-50%,150px)}
body.page-id-8432 .elementor .elementor-element.elementor-element-7397223{padding-top:150px}
}
@media (max-width:767px){
body.page-id-8432 .elementor .elementor-element.elementor-element-a012648{position:relative;transform:translateY(150px);z-index:5}
body.page-id-8432 .elementor-element-a012648 .ase-cal--hero-mobile{padding-bottom:0}
body.page-id-8432 .elementor .elementor-element.elementor-element-7397223{padding-top:150px}
}

/* Product-page batch-shipping notice (unchanged) */
.ase-cal-notice{background:#F3F7FA;border:1px solid #DCE6EE;border-left:4px solid #FFA700;border-radius:4px;color:#042C44;font-family:futura-pt,sans-serif;font-size:16px;line-height:24px;padding:12px 16px;margin:0 0 20px}
.ase-cal-notice strong{display:block;font-weight:600;color:#075695;margin-bottom:2px}
