/* Aldieri for Children • Natale 2026 — isolated Elementor + WooCommerce styling.
   Loaded from a dedicated mini-plugin, does not override Astra header/footer or other Woo pages. */
.elementor .afc-shop,
.afc-shop-catalog {
  --afc-navy:#092f4f; --afc-pink:#f40066; --afc-cyan:#0baeba;
  --afc-cream:#fbf7f1; --afc-mist:#eef9f9; --afc-muted:#516477;
  font-family:'Open Sans',Arial,sans-serif; color:var(--afc-navy);
}
.elementor .afc-shop *, .afc-shop-catalog * {box-sizing:border-box}
.elementor .afc-shop a, .afc-shop-catalog a {text-decoration:none}
.elementor .afc-shop>.elementor-container{
  width:calc(100% - 72px); max-width:1320px; margin-inline:auto;
}
.elementor .afc-shop .elementor-heading-title {
  font-family:'Open Sans',Arial,sans-serif; font-weight:800;
  color:var(--afc-navy); letter-spacing:-.035em; line-height:1.15;
}
.elementor .afc-shop .elementor-widget-text-editor p{margin:0 0 .55em;line-height:1.56}
.elementor .afc-shop .elementor-widget-text-editor p:last-child{margin-bottom:0}
/* Hero — text editable in Elementor; image asset is separate from text. */
.elementor .afc-shop-hero.afc-shop {
  position:relative; isolation:isolate; overflow:hidden;
  background:#f9f6f1; min-height:430px; padding:74px 0 77px;
}
.elementor .afc-shop-hero.afc-shop:before{
  content:''; position:absolute; z-index:-1; inset:0 0 0 auto;
  width:59%; background:url('shop-gift.jpg') 64% 51%/cover no-repeat;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,black 24%);
  mask-image:linear-gradient(to right,transparent 0%,black 24%);
}
.elementor .afc-shop-hero.afc-shop:after{
  content:''; position:absolute; z-index:0; left:-4%; bottom:-37px;
  width:108%; height:67px; background:#fff;
  border-radius:50% 50% 0 0 / 80% 80% 0 0; pointer-events:none;
}
.elementor .afc-shop-hero.afc-shop>.elementor-container{position:relative;z-index:1}
.elementor .afc-shop-hero .afc-shop-hero-text{width:53%;max-width:53%}
.elementor .afc-shop-hero .afc-shop-hero-text>.elementor-widget-wrap{display:block}
.elementor .afc-shop-hero .afc-shop-eyebrow {color:var(--afc-cyan);font-weight:800;letter-spacing:.23em;font-size:13px}
.elementor .afc-shop-hero .afc-shop-eyebrow p{color:inherit}
.elementor .afc-shop-hero .afc-shop-hero-title .elementor-heading-title{
  font-size:clamp(45px,5vw,79px)!important; line-height:1.04!important;
  color:var(--afc-navy)!important; margin:7px 0 15px;
}
.elementor .afc-shop-hero .afc-shop-hero-title .elementor-heading-title strong{color:var(--afc-pink)!important}
.elementor .afc-shop-hero .afc-shop-hero-lead{
  font-size:clamp(19px,1.6vw,25px); line-height:1.36; max-width:540px; font-weight:650;
}
.elementor .afc-shop-hero .afc-shop-hero-copy{font-size:16px;color:var(--afc-muted);max-width:515px;margin-top:15px}
.elementor .afc-shop .elementor-widget-button .elementor-button {
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--afc-pink);color:#fff;border:1px solid var(--afc-pink);
  border-radius:99px;min-height:47px;padding:12px 25px;
  font:800 14px/1.25 'Open Sans',Arial,sans-serif;
  transition:background .2s ease, transform .2s ease;
}
.elementor .afc-shop .elementor-widget-button .elementor-button:hover{background:#cb0054;color:#fff;transform:translateY(-1px)}
.elementor .afc-shop .elementor-widget-button .elementor-button:focus-visible{outline:3px solid #0baeba;outline-offset:2px}
.elementor .afc-shop-hero .afc-shop-hero-cta{display:inline-block;width:auto;margin-top:20px}
/* Trust strip */
.elementor .afc-shop-trust.afc-shop{padding:24px 0 39px;background:#fff}
.elementor .afc-shop-trust.afc-shop>.elementor-container{display:flex;gap:20px}
.elementor .afc-shop-trust .afc-shop-trust-cell{
  width:33.333%;min-width:0;min-height:106px;border-radius:14px;
  background:linear-gradient(110deg,#fdf5f7,#f7fbfb);padding:21px 25px;
}
.elementor .afc-shop-trust .afc-shop-trust-cell:nth-child(2){background:linear-gradient(110deg,#edf9fa,#fbfefe)}
.elementor .afc-shop-trust .afc-shop-trust-cell:nth-child(3){background:linear-gradient(110deg,#fdf6f7,#faf9f9)}
.elementor .afc-shop-trust .afc-shop-trust-heading .elementor-heading-title{font-size:20px;letter-spacing:-.015em}
.elementor .afc-shop-trust .afc-shop-trust-copy{font-size:14px;color:#526578;margin-top:7px;max-width:340px}
.elementor .afc-shop-trust .afc-shop-trust-cell .elementor-widget{margin-bottom:6px}
/* Product intro */
.elementor .afc-shop-intro.afc-shop{background:#fff;padding:20px 0 23px;text-align:center}
.elementor .afc-shop-intro .afc-shop-intro-kicker{font-size:12px;letter-spacing:.24em;color:#c99b28;font-weight:800}
.elementor .afc-shop-intro .afc-shop-intro-heading .elementor-heading-title{font-size:clamp(32px,3.2vw,45px)}
.elementor .afc-shop-intro .afc-shop-intro-description{font-size:16px;color:#53677b;margin-top:8px}
/* Main catalog */
.elementor .afc-shop-products-section.afc-shop{background:#fff;padding:0 0 64px}
.elementor .afc-shop-products-section.afc-shop>.elementor-container{display:block}
.elementor .afc-shop-products-section.afc-shop .elementor-widget-shortcode{width:100%;margin:0}
.afc-shop-catalog{width:100%;max-width:1320px;margin:0 auto}
.afc-shop-catalog .afc-shop-filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:4px 0 28px}
.afc-shop-catalog .afc-shop-filter{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 17px;min-height:41px;border:1px solid #d4e0e5;
  border-radius:99px;color:#153c5d;background:#fff;
  font-size:13px;font-weight:750;line-height:1.15;transition:background .2s ease;
}
.afc-shop-catalog .afc-shop-filter:hover{background:#e9f8f8;color:#092f4f}
.afc-shop-catalog .afc-shop-filter.is-active{background:#092f4f;color:#fff;border-color:#092f4f}
.afc-shop-catalog .afc-shop-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.afc-shop-catalog .afc-shop-product{
  background:#fff;border:1px solid #e5eaed;border-radius:17px;
  overflow:hidden;box-shadow:0 6px 24px rgba(9,47,79,.035);
  display:flex;flex-direction:column;position:relative;
  transition:transform .2s ease,box-shadow .2s ease;
}
.afc-shop-catalog .afc-shop-product:hover{transform:translateY(-3px);box-shadow:0 12px 27px rgba(9,47,79,.08)}
.afc-shop-catalog .afc-shop-product-image{background:#f8f9f9;aspect-ratio:1.45;display:block;overflow:hidden}
.afc-shop-catalog img.afc-shop-cover{width:100%!important;height:100%!important;display:block;object-fit:contain;transition:transform .3s ease}
.afc-shop-catalog .afc-shop-product:hover .afc-shop-cover{transform:scale(1.02)}
.afc-shop-catalog .afc-shop-tag{position:absolute;top:12px;left:12px;background:#fff5f7;color:#b00047;border:1px solid #ffd3e3;border-radius:99px;padding:5px 10px;font-size:11px;font-weight:750}
.afc-shop-catalog .afc-shop-product-details{padding:17px 17px 18px;display:flex;flex-direction:column;flex:1;gap:5px}
.afc-shop-catalog .afc-shop-code{font-size:11px;color:#62798a;font-weight:700;letter-spacing:.06em}
.afc-shop-catalog .afc-shop-product-title{font:800 18px/1.26 'Open Sans',Arial,sans-serif;letter-spacing:-.02em;color:#0a2f4c;margin:2px 0 4px}
.afc-shop-catalog .afc-shop-product-title a{color:inherit}
.afc-shop-catalog .afc-shop-product-title a:hover{color:#e1005d}
.afc-shop-catalog .afc-shop-price{font-size:18px;line-height:1.3;font-weight:800;color:#092f4f;margin:auto 0 10px}
.afc-shop-catalog .afc-shop-price ins{text-decoration:none}
.afc-shop-catalog .afc-shop-price del{color:#74818c;font-size:13px;font-weight:400}
.afc-shop-catalog .afc-shop-purchase{margin-top:auto}
.afc-shop-catalog .afc-shop-purchase a.button,
.afc-shop-catalog .afc-shop-purchase a.added_to_cart{
  display:flex;justify-content:center;align-items:center;min-height:43px;
  width:100%;border-radius:99px;border:1px solid #f40066;background:#f40066;color:#fff;
  font:750 13px/1.2 'Open Sans',Arial,sans-serif;
  text-align:center;padding:10px 13px;box-shadow:none;white-space:normal;
}
.afc-shop-catalog .afc-shop-purchase a.added_to_cart{margin-top:7px;background:transparent;color:#d9005b}
.afc-shop-catalog .afc-shop-purchase a.button:hover{background:#cb0054;color:#fff}
.afc-shop-catalog .afc-shop-purchase a.button:focus-visible{outline:3px solid #0baeba;outline-offset:2px}
.afc-shop-catalog .afc-shop-empty{padding:50px 25px;background:#f3f9f9;border-radius:14px;text-align:center}
.afc-shop-catalog .afc-shop-empty strong{font-size:20px;display:block}
.afc-shop-catalog .afc-shop-empty p{color:#5c6f7d;margin:8px auto}
.afc-shop-catalog .afc-shop-admin-note{font-size:13px}
/* Bottom project context */
.elementor .afc-shop-impact.afc-shop{position:relative;isolation:isolate;overflow:hidden;background:#f0f9f9;padding:52px 0 55px}
.elementor .afc-shop-impact.afc-shop:before{
  content:'';position:absolute;z-index:-1;right:0;top:0;bottom:0;width:39%;
  background:url('project-support.jpg') center 52%/cover no-repeat;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,black 32%);
  mask-image:linear-gradient(to right,transparent 0%,black 32%);
}
.elementor .afc-shop-impact .afc-shop-impact-body{width:67%;max-width:67%}
.elementor .afc-shop-impact .afc-shop-impact-body .elementor-heading-title{font-size:clamp(30px,3vw,44px);max-width:620px}
.elementor .afc-shop-impact .afc-shop-impact-body .elementor-heading-title strong{color:#f40066}
.elementor .afc-shop-impact .afc-shop-impact-copy{font-size:16px;max-width:570px;color:#486174;margin-top:15px}
.elementor .afc-shop-impact .afc-shop-impact-button{display:inline-block;width:auto;margin-top:17px}
@media(max-width:1100px){
 .elementor .afc-shop>.elementor-container{width:calc(100% - 54px)}
 .afc-shop-catalog .afc-shop-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
 .elementor .afc-shop-hero .afc-shop-hero-text{width:58%;max-width:58%}
}
@media(max-width:767px){
 .elementor .afc-shop>.elementor-container{width:calc(100% - 34px)!important;max-width:550px!important}
 .elementor .afc-shop-hero.afc-shop{padding:36px 0 245px;min-height:620px}
 .elementor .afc-shop-hero.afc-shop:before{width:100%;height:295px;inset:auto 0 0 0;background-position:center 43%;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 38%);mask-image:linear-gradient(to bottom,transparent 0%,black 38%)}
 .elementor .afc-shop-hero .afc-shop-hero-text{width:100%!important;max-width:100%!important}
 .elementor .afc-shop-hero .afc-shop-hero-title .elementor-heading-title{font-size:clamp(38px,9vw,55px)!important}
 .elementor .afc-shop-hero .afc-shop-hero-lead{font-size:18px}
 .elementor .afc-shop-hero .afc-shop-hero-copy{font-size:14px}
 .elementor .afc-shop-trust.afc-shop{padding:14px 0 23px}
 .elementor .afc-shop-trust.afc-shop>.elementor-container{display:block}
 .elementor .afc-shop-trust .afc-shop-trust-cell{width:100%!important;min-height:0;margin-bottom:10px;padding:18px 20px}
 .elementor .afc-shop-intro.afc-shop{padding:24px 0 20px}
 .elementor .afc-shop-intro .afc-shop-intro-heading .elementor-heading-title{font-size:32px}
 .elementor .afc-shop-products-section.afc-shop{padding-bottom:34px}
 .afc-shop-catalog .afc-shop-filters{gap:8px;justify-content:flex-start;margin-bottom:19px}
 .afc-shop-catalog .afc-shop-filter{font-size:12px;min-height:37px;padding:8px 12px}
 .afc-shop-catalog .afc-shop-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 .afc-shop-catalog .afc-shop-product-details{padding:12px;gap:4px}
 .afc-shop-catalog .afc-shop-product-title{font-size:15px}
 .afc-shop-catalog .afc-shop-price{font-size:16px}
 .afc-shop-catalog .afc-shop-purchase a.button{font-size:11px;min-height:39px;padding:8px}
 .elementor .afc-shop-impact.afc-shop{padding:32px 0 205px}
 .elementor .afc-shop-impact.afc-shop:before{width:100%;height:190px;inset:auto 0 0 0;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 35%);mask-image:linear-gradient(to bottom,transparent 0%,black 35%)}
 .elementor .afc-shop-impact .afc-shop-impact-body{width:100%!important;max-width:100%!important}
 .elementor .afc-shop-impact .afc-shop-impact-body .elementor-heading-title{font-size:31px}
}
@media(max-width:440px){
 .afc-shop-catalog .afc-shop-products{grid-template-columns:1fr;gap:14px}
 .afc-shop-catalog .afc-shop-product-image{aspect-ratio:1.6}
 .afc-shop-catalog .afc-shop-product-title{font-size:18px}
 .afc-shop-catalog .afc-shop-product-details{padding:17px}
 .afc-shop-catalog .afc-shop-purchase a.button{font-size:13px}
}
