/* Builder pages break out of theme content columns so sections can be full width. */
.casc-builder-page-escape{
  display:block!important;
  width:min(var(--casc-site-width,100vw),100vw)!important;
  min-width:0!important;
  max-width:100vw!important;
  position:relative!important;
  left:50%!important;
  right:auto!important;
  margin-left:calc(min(var(--casc-site-width,100vw),100vw) / -2)!important;
  margin-right:0!important;
  padding:0!important;
  overflow-x:hidden;
  box-sizing:border-box;
  background-color:inherit;
  background-image:inherit;
  background-size:inherit;
  background-position:inherit;
  background-repeat:inherit;
}
.casc-builder-page{
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  box-sizing:border-box;
}
.casc-builder2-page{
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  box-sizing:border-box;
  background:var(--casc-bg, transparent);
  color:var(--casc-text, #111827);
  font-family:var(--casc-font, inherit);
}
.casc-section-fullwidth-bg{
  width:min(var(--casc-site-width,100vw),100vw)!important;
  max-width:100vw!important;
  position:relative!important;
  left:50%!important;
  right:auto!important;
  margin-left:calc(min(var(--casc-site-width,100vw),100vw) / -2)!important;
  margin-right:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
body.casc-builder2-preview .casc-section-fullwidth-bg{
  width:100%!important;
  max-width:100%!important;
  left:auto!important;
  right:auto!important;
  margin-left:0!important;
  margin-right:0!important;
}
.casc-el-section{
  box-sizing:border-box;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-color:var(--casc-section-bg, transparent)!important;
  background-image:var(--casc-section-bg-image, none)!important;
  background-size:var(--casc-section-bg-size, cover)!important;
  background-position:var(--casc-section-bg-pos, center)!important;
  background-repeat:var(--casc-section-bg-repeat, no-repeat)!important;
}
.casc-el-section>.casc-section-bg-layer{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-color:var(--casc-section-bg, transparent)!important;
  background-image:var(--casc-section-bg-image, none)!important;
  background-size:var(--casc-section-bg-size, cover)!important;
  background-position:var(--casc-section-bg-pos, center)!important;
  background-repeat:var(--casc-section-bg-repeat, no-repeat)!important;
}
.casc-el-section>:not(.casc-section-bg-layer){
  position:relative;
  z-index:1;
}
.casc-builder-public-section{
  width:100%;
  max-width:100%;
  margin-left:0;
  margin-right:0;
  padding-left:0;
  padding-right:0;
  box-sizing:border-box;
  position:relative;
}
.casc-builder-inner{
  max-width:var(--casc-builder-max-width,1200px);
  width:100%;
  margin-left:auto;
  margin-right:auto;
  padding:56px 24px;
  box-sizing:border-box;
}
@media(max-width:760px){
  .casc-builder-inner{ padding:36px 16px; }
}

.casc-store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}.casc-product-card{border:1px solid #e5e5e5;border-radius:14px;padding:16px;background:#fff}.casc-product-card img{width:100%;height:auto;border-radius:10px}.casc-price{font-size:22px;font-weight:700;margin:10px 0}.casc-add-to-cart{display:flex;gap:8px;align-items:center}.casc-add-to-cart input[type=number]{width:70px}.casc-add-to-cart button,.casc-button,.casc-checkout button{background:#111;color:#fff;border:0;border-radius:8px;padding:10px 14px;text-decoration:none;cursor:pointer}.casc-cart table{width:100%;border-collapse:collapse}.casc-cart th,.casc-cart td{border-bottom:1px solid #e5e5e5;padding:12px;text-align:left}.casc-cart-total{text-align:right;font-size:20px}.casc-checkout-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:30px}.casc-order-summary,.casc-buy-box{border:1px solid #e5e5e5;border-radius:14px;padding:18px;background:#fff}.casc-checkout input{width:100%;max-width:480px;padding:10px;border:1px solid #ccc;border-radius:8px}@media(max-width:700px){.casc-checkout-layout{grid-template-columns:1fr}.casc-add-to-cart{flex-wrap:wrap}}
.casc-error{background:#fff1f1;border:1px solid #e2a4a4;border-radius:8px;padding:12px;margin:12px 0}.casc-help{font-size:13px;color:#666;margin-top:10px}

.casc-totals{border-top:1px solid #eee;margin-top:18px;padding-top:12px;max-width:420px}.casc-totals p{display:flex;justify-content:space-between;margin:8px 0}.casc-totals .casc-cart-total{font-size:1.15em;border-top:1px solid #eee;padding-top:10px}.casc-coupon-box{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.casc-coupon-box input{padding:9px;border:1px solid #ddd;border-radius:6px}.casc-inline-form{display:inline-block;margin:0}
.casc-account-card{border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin:0 0 20px;background:#fff}.casc-account-orders{width:100%;border-collapse:collapse}.casc-account-orders th,.casc-account-orders td{border-bottom:1px solid #eee;padding:10px;text-align:left}.casc-account-lookup input{max-width:360px;width:100%}
.casc-downloads ul{list-style:none;margin:0;padding:0}.casc-downloads li{margin:.35rem 0}.casc-account-orders .casc-downloads h4{margin:.25rem 0}.casc-account-orders .casc-button{display:inline-block;padding:.35rem .65rem;font-size:.9rem}

.casc-product-embed{border:1px solid #e5e7eb;border-radius:16px;padding:18px;background:#fff;margin:18px 0}.casc-product-embed-horizontal{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:start}.casc-product-embed-image img{width:100%;height:auto;border-radius:12px}.casc-product-embed h3{margin:.2rem 0}.casc-product-type{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#666;margin:0 0 4px}.casc-product-embed-description{color:#555}.casc-embed-button{display:inline-flex;gap:8px;align-items:center}.casc-qty-small{width:70px}.casc-collection-grid{grid-template-columns:repeat(var(--casc-columns,3),minmax(0,1fr))}.casc-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.7em;height:1.7em;border-radius:999px;background:#111;color:#fff;font-size:.85em;padding:0 .45em}.casc-cart-drawer{border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.08);padding:18px;max-width:420px}.casc-cart-drawer-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee;padding-bottom:10px;margin-bottom:10px}.casc-cart-drawer-items{list-style:none;margin:0;padding:0}.casc-cart-drawer-items li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #f1f1f1}.casc-drawer-checkout{display:block;text-align:center;margin-top:14px}@media(max-width:700px){.casc-product-embed-horizontal{grid-template-columns:1fr}.casc-collection-grid{grid-template-columns:1fr!important}}
.casc-add-to-cart{align-items:flex-end;flex-wrap:wrap}.casc-option-label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:#333}.casc-option-label select{min-width:130px;padding:8px;border:1px solid #d7d7d7;border-radius:8px;background:#fff}.casc-cart td:first-child,.casc-order-summary p{line-height:1.4}

.casc-email-capture{margin:18px 0;padding:16px;border:1px solid #e5e7eb;border-radius:10px;background:#fafafa}.casc-email-capture form{display:flex;gap:8px;flex-wrap:wrap}.casc-email-capture input{padding:9px;min-width:180px}.casc-email-capture button{padding:9px 14px;cursor:pointer}


.casc-offer{border:1px solid #e1e1e1;border-radius:12px;padding:18px;margin:18px 0;background:#fff}
.casc-order-bump{background:#fffdf5;border-style:dashed}
.casc-offer-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:10px 0;font-size:1.05em}
.casc-offer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:12px}
.casc-offer-card{border:1px solid #e8e8e8;border-radius:12px;padding:14px;background:#fff}
.casc-offer-card img{max-width:100%;height:auto;border-radius:8px}
.casc-post-purchase-offers{margin-top:24px;padding-top:18px;border-top:1px solid #eee}
.casc-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;max-width:720px}.casc-address-grid p{margin:.35rem 0}.casc-checkout textarea{width:100%;max-width:720px;padding:10px;border:1px solid #ccc;border-radius:8px}.casc-shipping-address{display:none;border:1px solid #eee;border-radius:12px;padding:14px;margin:10px 0 16px;background:#fafafa}.casc-toggle-shipping:checked~.casc-shipping-address{display:block}.casc-account-orders td{vertical-align:top}@media(max-width:700px){.casc-address-grid{grid-template-columns:1fr}}


.casc-reviews{margin-top:2rem;padding-top:1rem;border-top:1px solid #eee}.casc-review{padding:1rem 0;border-bottom:1px solid #eee}.casc-rating-summary{font-size:1.05rem}.casc-review-form{margin-top:1.5rem;padding:1rem;border:1px solid #ddd;border-radius:8px}.casc-review-form input,.casc-review-form textarea,.casc-review-form select{width:100%;max-width:520px}.casc-success{background:#ecfdf3;border:1px solid #abefc6;padding:.75rem}.casc-error{background:#fef3f2;border:1px solid #fecdca;padding:.75rem}

/* Store Design controls */
.casc-store-grid{grid-template-columns:repeat(var(--casc-store-columns,3),minmax(0,1fr));}
.casc-product-card,.casc-product-embed,.casc-cart-drawer,.casc-order-summary,.casc-buy-box,.casc-account-card,.casc-offer,.casc-review-form{background:var(--casc-card-bg,#fff);border-color:var(--casc-border,#e5e7eb);border-radius:var(--casc-card-radius,14px);box-shadow:var(--casc-card-shadow,0 10px 25px rgba(15,23,42,.08));color:var(--casc-text,#111827);}
.casc-product-card h1,.casc-product-card h2,.casc-product-card h3,.casc-product-embed h1,.casc-product-embed h2,.casc-product-embed h3,.casc-cart h1,.casc-checkout h1,.casc-account-card h1,.casc-account-card h2,.casc-offer h1,.casc-offer h2,.casc-offer h3{color:var(--casc-text,#111827);}
.casc-muted,.casc-product-type,.casc-product-embed-description{color:var(--casc-muted,#6b7280);}
.casc-add-to-cart button,.casc-button,.casc-checkout button{background:var(--casc-primary,#111);color:var(--casc-button-text,#fff);border-radius:var(--casc-button-radius,8px);}
.casc-cart-count{background:var(--casc-primary,#111);color:var(--casc-button-text,#fff);}
.casc-price{color:var(--casc-primary,#111);}
.casc-email-capture,.casc-shipping-address{background:var(--casc-accent,#f7f7f7);border-color:var(--casc-border,#e5e7eb);}


/* v2.56 checkout delivery methods */
.casc-delivery-methods { display:grid; gap:10px; margin:10px 0 20px; }
.casc-delivery-method { display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid #d1d5db; border-radius:10px; padding:12px; background:#fff; cursor:pointer; }
.casc-delivery-method input { margin-right:8px; }
.casc-delivery-method span { flex:1; }
.casc-delivery-method small { display:block; color:#6b7280; margin-top:2px; }
.casc-delivery-method:has(input:checked) { border-color:#111827; box-shadow:0 0 0 1px #111827 inset; }


/* v2.60 Customer Portal */
.casc-portal{max-width:1180px;margin:0 auto;padding:20px 0}.casc-portal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.casc-eyebrow{margin:0 0 4px;color:#6b7280;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700}.casc-portal-header h2{margin:0}.casc-portal-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px}.casc-portal-nav{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:10px;align-self:start;position:sticky;top:20px}.casc-portal-nav a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none;color:#374151;font-weight:600}.casc-portal-nav a.active,.casc-portal-nav a:hover{background:#111827;color:#fff}.casc-portal-main{min-width:0}.casc-portal-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.casc-portal-cards .casc-account-card span{display:block;color:#6b7280;font-size:13px}.casc-portal-cards .casc-account-card strong{display:block;font-size:24px;margin-top:5px}.casc-button-small,.casc-wishlist-button{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#111827;border:1px solid #d1d5db;border-radius:8px;padding:7px 10px;font-size:13px;text-decoration:none;cursor:pointer}.casc-wishlist-form{margin-top:10px}.casc-portal-form input{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:8px;margin-top:5px}.casc-address-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.casc-gift-card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.casc-gift-card-tile{border:1px solid #e5e7eb;border-radius:16px;padding:16px;background:linear-gradient(135deg,#111827,#374151);color:#fff}.casc-gift-card-tile span,.casc-gift-card-tile small{display:block;opacity:.75}.casc-gift-card-tile b{display:block;font-size:24px;margin:4px 0}.casc-download-order{border-top:1px solid #eee;padding-top:12px;margin-top:12px}.casc-wishlist-grid .casc-add-to-cart{margin-top:8px}@media(max-width:800px){.casc-portal-shell{grid-template-columns:1fr}.casc-portal-nav{position:static;display:flex;overflow:auto}.casc-portal-nav a{white-space:nowrap}.casc-portal-cards,.casc-address-columns{grid-template-columns:1fr}}

/* v8.5.4 builder output — replaces all previous builder CSS blocks */

/* Canvas element wrapper — position:relative for absolute children */
.casc-builder-custom-elements{
  position:relative;
  width:100%;
  min-height:420px;
}
.casc-section-height-compact .casc-builder-custom-elements{ min-height:200px; }
.casc-section-height-medium  .casc-builder-custom-elements{ min-height:380px; }
.casc-section-height-large   .casc-builder-custom-elements{ min-height:580px; }

/* Elements are absolutely positioned using % left + px top on desktop/tablet */
.casc-builder-custom-elements>[style]{
  position:absolute;
  box-sizing:border-box;
}

/* Mobile: stack elements in a column instead of absolute positioning */
@media(max-width:767px){
  .casc-builder-custom-elements{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    gap:20px!important;
    min-height:0!important;
    padding-bottom:20px!important;
  }
  .casc-builder-custom-elements>[style]{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-height:auto!important;
  }
  /* Images keep their height on mobile */
  .casc-builder-custom-elements figure.casc-element-image>[style],
  .casc-builder-custom-elements>[style] img{
    width:100%!important;
    height:auto!important;
  }
}

/* Image elements */
.casc-element-image,
.casc-el-image{ margin:0; display:block; max-width:100%; box-sizing:border-box; overflow:hidden; }
.casc-element-image img,
.casc-el-image img{ width:100%; max-width:100%; display:block; height:auto; object-fit:cover; }
.casc-element-image figcaption,
.casc-el-image figcaption{ font-size:.85rem; opacity:.75; padding:4px 0; }

/* Buttons */
.casc-builder-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--casc-builder-primary,#111827);
  color:#fff!important;
  text-decoration:none;
  font-weight:700;
  cursor:pointer;
}
.casc-builder-button:hover{ opacity:.88; }

/* Badge */
.casc-builder-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  font-weight:700;
  background:rgba(37,99,235,.12);
  color:var(--casc-builder-accent,#2563eb);
}

/* Divider */
.casc-builder-divider,.casc-el-divider{ display:block; border:none; border-top:1px solid #e5e7eb; margin:0; min-height:1px; }

/* Announcement bar */
.casc-el-announcement-bar{box-sizing:border-box;width:100%;border-width:0;border-style:none;border-color:transparent}
.casc-announcement-slider{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:var(--casc-ann-slider-max-width,100%);margin-inline:auto;min-width:0;overflow:visible}
.casc-announcement-nav-v3{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;column-gap:inherit!important;width:100%!important;max-width:var(--casc-ann-slider-max-width,100%)!important;margin-left:auto!important;margin-right:auto!important;overflow:visible!important;position:relative!important;box-sizing:border-box!important}
.casc-announcement-nav-v3.casc-announcement-arrows-disabled{grid-template-columns:minmax(0,1fr)!important}
.casc-announcement-track{display:block!important;min-width:0!important;width:100%!important;flex:1 1 auto!important;padding:0!important;text-align:center!important;overflow:hidden!important;box-sizing:border-box!important;position:relative!important}
.casc-announcement-items{display:block!important;position:relative!important;min-width:0!important;width:100%!important}
.casc-announcement-item{display:block!important;width:100%;position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(18px);transition:opacity var(--casc-ann-slide-speed,420ms) ease,transform var(--casc-ann-slide-speed,420ms) ease,visibility 0s linear var(--casc-ann-slide-speed,420ms);will-change:opacity,transform}
.casc-announcement-item.is-active{position:relative;opacity:1!important;visibility:visible!important;pointer-events:auto;transform:translateX(0);transition:opacity var(--casc-ann-slide-speed,420ms) ease,transform var(--casc-ann-slide-speed,420ms) ease,visibility 0s linear 0s}
.casc-announcement-item.is-leaving{position:absolute;opacity:0!important;visibility:hidden!important;transform:translateX(-18px);pointer-events:none}
.casc-announcement-slider[data-casc-direction=prev] .casc-announcement-item{transform:translateX(-18px)}
.casc-announcement-slider[data-casc-direction=prev] .casc-announcement-item.is-leaving{transform:translateX(18px)}
.casc-announcement-arrow,.casc-announcement-nav{appearance:none!important;-webkit-appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:var(--casc-ann-arrow-size,28px)!important;height:var(--casc-ann-arrow-size,28px)!important;min-width:var(--casc-ann-arrow-size,28px)!important;border-radius:var(--casc-ann-arrow-radius,999px)!important;border:var(--casc-ann-arrow-border-width,0px) solid var(--casc-ann-arrow-border-color,transparent)!important;background:var(--casc-ann-arrow-bg,rgba(255,255,255,.16))!important;background-color:var(--casc-ann-arrow-bg,rgba(255,255,255,.16))!important;color:var(--casc-ann-arrow-color,currentColor)!important;opacity:var(--casc-ann-arrow-opacity,1)!important;position:relative!important;inset:auto!important;transform:none!important;z-index:20!important;padding:0!important;margin:0!important;line-height:0!important;cursor:pointer!important;pointer-events:auto!important;box-sizing:border-box!important;box-shadow:none!important;outline:none!important;text-decoration:none!important;overflow:hidden!important;transition:opacity .18s ease,background .18s ease,color .18s ease,border-color .18s ease!important}
.casc-announcement-arrow:hover,.casc-announcement-arrow:focus,.casc-announcement-nav:hover,.casc-announcement-nav:focus{background:var(--casc-ann-arrow-hover-bg,rgba(255,255,255,.28))!important;background-color:var(--casc-ann-arrow-hover-bg,rgba(255,255,255,.28))!important;color:var(--casc-ann-arrow-hover-color,currentColor)!important;border-color:var(--casc-ann-arrow-border-color,transparent)!important}
.casc-announcement-arrows-disabled>.casc-announcement-arrow,.casc-announcement-arrows-disabled>.casc-announcement-nav,.casc-announcement-slider[data-show-arrows="0"]>.casc-announcement-arrow,.casc-announcement-slider[data-show-arrows="0"]>.casc-announcement-nav{display:none!important}
.casc-announcement-arrow-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;line-height:0!important;color:inherit!important}
.casc-announcement-arrow-icon svg{display:block!important;width:62%!important;height:62%!important;overflow:visible!important}
.casc-announcement-arrow-icon svg path{fill:none!important;stroke:currentColor!important;stroke-width:var(--casc-ann-arrow-stroke,4)!important;stroke-linecap:round!important;stroke-linejoin:round!important;vector-effect:non-scaling-stroke!important}
.casc-announcement-item a{color:var(--casc-ann-link-color,currentColor)!important;text-decoration:underline;text-underline-offset:2px}
.casc-announcement-item a:hover{color:var(--casc-ann-link-hover-color,var(--casc-ann-link-color,currentColor))!important}
