/* =========================================================================
   AlbaniALL header mini-cart — WP port of frontend/cart-widget-mockup.html.
   Scoped under .ova-menu-cart.al-mc (the theme's header cart node). Purple
   #5A3D8E dominant · orange #F28C00 single sharp accent. Overrides the Tripgo
   .ova-menu-cart .minicart defaults via .ova-menu-cart.al-mc specificity.
   ========================================================================= */
.al-mc{
  --orange:#F28C00; --orange-dark:#d97d00; --orange-soft:#fff4e3;
  --purple:#5A3D8E; --purple-dark:#4a2f78; --purple-soft:#f4f0fb;
  --bg:#fcfcfd; --card:#ffffff;
  --t-main:#5e5e5e; --t-strong:#2B2B2B; --t-mid:#454545; --light:#8b8797;
  --line:#ececf1; --r-sm:11px; --r-pill:999px;
  --sh-panel:0 30px 80px -12px rgba(50,30,100,.35);
  --ease:cubic-bezier(.4,0,.2,1); --spring:cubic-bezier(.34,1.56,.64,1);
  position:relative;
  font-family:'Manrope',system-ui,sans-serif;
}
.al-mc, .al-mc *, .al-mc *::before, .al-mc *::after{box-sizing:border-box}
.al-mc button{cursor:pointer;font-family:inherit;border:none;background:none;margin:0;padding:0;color:inherit;box-sizing:border-box;line-height:normal;text-transform:none;min-width:0;min-height:0}
.al-mc h3,.al-mc h4{font-family:'Open Sans',sans-serif;line-height:1.15;margin:0}
.al-mc a{text-decoration:none;color:inherit}
.al-mc :focus-visible{outline:2px solid var(--orange);outline-offset:2px;border-radius:5px}

/* ---------------- trigger + badge ---------------- */
.ova-menu-cart.al-mc .al-mc__trigger{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:14px;color:var(--purple);background:var(--purple-soft);
  transition:background .2s,color .2s,transform .15s;padding:0;
}
.ova-menu-cart.al-mc .al-mc__trigger:hover{background:var(--purple);color:#fff;transform:translateY(-1px)}
.ova-menu-cart.al-mc .al-mc__ic{width:23px;height:23px}
.ova-menu-cart.al-mc .al-mc__badge{
  position:absolute;top:-6px;right:-6px;min-width:21px;height:21px;padding:0 5px;border-radius:var(--r-pill);
  background:var(--orange);color:#fff;font-size:11.5px;font-weight:800;font-family:'Open Sans',sans-serif;
  display:grid;place-items:center;box-shadow:0 3px 9px rgba(242,140,0,.5);border:2px solid var(--card);line-height:1;
}
.ova-menu-cart.al-mc .al-mc__badge[data-count="0"]{display:none}
.ova-menu-cart.al-mc .al-mc__badge.bump{animation:al-mc-badge-pop .5s var(--spring)}
@keyframes al-mc-badge-pop{0%{transform:scale(.4);opacity:0}55%{transform:scale(1.28)}100%{transform:scale(1)}}

/* ---------------- panel (override theme .minicart) ---------------- */
.ova-menu-cart.al-mc .al-mc__panel{
  position:absolute;top:calc(100% + 14px);right:0;left:auto;width:392px;max-width:calc(100vw - 32px);
  background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;
  box-shadow:var(--sh-panel);z-index:9999;padding:0;color:var(--t-main);font-size:16px;line-height:1.6;
  opacity:0;visibility:hidden;transform:translateY(-10px) scale(.98);transform-origin:top right;pointer-events:none;
  transition:opacity .2s var(--ease),transform .26s var(--spring),visibility .26s;
}
/* click opens everywhere; hover opens on desktop only (see min-width MQ below).
   The theme's own .ova-menu-cart:hover .minicart rule is lower-specificity, so
   this base keeps the panel closed until .is-open (click) or the desktop :hover. */
.ova-menu-cart.al-mc.is-open .al-mc__panel{
  opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto;top:calc(100% + 14px);
}
.ova-menu-cart.al-mc .al-mc__panel::after{content:"";position:absolute;top:-7px;right:16px;width:14px;height:14px;background:var(--purple);transform:rotate(45deg);border-radius:3px}

/* Desktop hover-open + transparent bridge across the trigger→panel gap. The bridge
   is a child of .al-mc, so hovering it keeps .al-mc:hover alive (no drop when the
   mouse crosses the gap). pointer-events stay off until hover so it never blocks
   clicks in the header whitespace below the icon. */
@media(min-width:761px){
  .ova-menu-cart.al-mc:hover .al-mc__panel{
    opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto;top:calc(100% + 14px);
  }
  .ova-menu-cart.al-mc::after{content:"";position:absolute;top:100%;right:0;width:392px;max-width:calc(100vw - 32px);height:18px;background:transparent;pointer-events:none;z-index:9999}
  .ova-menu-cart.al-mc:hover::after{pointer-events:auto}
}

/* header band */
.ova-menu-cart.al-mc .al-mc__head{position:relative;padding:16px 18px;color:#fff;background:linear-gradient(120deg,var(--purple),var(--purple-dark));display:flex;align-items:center;gap:10px}
.ova-menu-cart.al-mc .al-mc__head::before{content:"";position:absolute;inset:0;background:radial-gradient(120px 60px at 88% -30%,rgba(242,140,0,.55),transparent 70%);pointer-events:none}
.ova-menu-cart.al-mc .al-mc__head h3{position:relative;color:#fff;font-size:16px;font-weight:800;letter-spacing:-.2px}
.ova-menu-cart.al-mc .al-mc__count{position:relative;font-size:12.5px;font-weight:700;color:rgba(255,255,255,.82);background:rgba(255,255,255,.16);padding:3px 10px;border-radius:var(--r-pill)}
.ova-menu-cart.al-mc .al-mc__close{position:relative;margin-left:auto;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.14);transition:background .2s}
.ova-menu-cart.al-mc .al-mc__close:hover{background:rgba(255,255,255,.28)}
.ova-menu-cart.al-mc .al-mc__close svg{width:15px;height:15px}

/* ---------------- items ---------------- */
.al-mc .mc-items{max-height:340px;overflow-y:auto;padding:8px;margin:0;scrollbar-width:thin;scrollbar-color:var(--purple-soft) transparent;list-style:none}
.al-mc .mc-items::-webkit-scrollbar{width:8px}
.al-mc .mc-items::-webkit-scrollbar-thumb{background:#e3def0;border-radius:8px;border:2px solid var(--card)}

.al-mc .mc-item{position:relative;display:grid;grid-template-columns:60px 1fr;gap:13px;padding:13px 12px 13px 11px;border-radius:14px;margin:0;transition:background .18s,opacity .3s var(--ease),transform .3s var(--ease)}
.al-mc .mc-item + .mc-item{margin-top:2px}
.al-mc .mc-item::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:var(--purple);opacity:.55}
.al-mc .mc-item[data-type="transfer"]::before{background:var(--orange)}
.al-mc .mc-item:hover{background:var(--purple-soft)}
.al-mc .mc-item.removing{opacity:0;transform:translateX(26px)}

.al-mc .mc-thumb{position:relative;width:60px;height:60px;border-radius:12px;overflow:hidden;background:var(--purple-soft);flex:0 0 auto}
.al-mc .mc-thumb img{width:100%;height:100%;object-fit:cover}
.al-mc .mc-thumb a{display:block;width:100%;height:100%}
.al-mc .mc-item[data-type="transfer"] .mc-thumb{background:var(--orange-soft)}

.al-mc .mc-body{min-width:0;display:flex;flex-direction:column;gap:7px}
.al-mc .mc-row1{display:flex;align-items:flex-start;gap:8px}
.al-mc .mc-title{font-family:'Open Sans',sans-serif;font-size:14.5px;font-weight:700;color:var(--t-mid);letter-spacing:-.2px;line-height:1.25;margin:0}
.al-mc .mc-title a{color:inherit}
.al-mc .mc-kind{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--purple);background:var(--purple-soft);padding:3px 7px;border-radius:6px;margin-bottom:5px;width:fit-content}
.al-mc .mc-item[data-type="transfer"] .mc-kind{color:var(--orange-dark);background:var(--orange-soft)}
.al-mc .mc-remove{margin-left:auto;flex:0 0 auto;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;color:var(--light);transition:color .18s,background .18s;padding:0}
.al-mc .mc-remove:hover{color:#c0392b;background:#fdecea}
.al-mc .mc-remove svg{width:14px;height:14px}

/* meta — plain aligned two-column list (label: value) from
   wc_get_formatted_cart_item_data() dl.variation output. Fixed row rhythm so text
   never jumps between items. */
.al-mc .mc-metas{margin:0}
.al-mc .mc-metas .variation{display:grid;grid-template-columns:auto 1fr;column-gap:5px;row-gap:0;align-items:baseline;margin:0;padding:0}
.al-mc .mc-metas .variation dt,.al-mc .mc-metas .variation dd{margin:0!important;padding:0!important;font-size:12px;line-height:1.4;white-space:normal;background:none;border:none}
.al-mc .mc-metas .variation dt{color:var(--purple);font-weight:700;clear:none}
.al-mc .mc-metas .variation dd{color:var(--t-mid);font-weight:600}
/* theme/WooCommerce set a paragraph margin-bottom that pushed rows apart — kill it */
.al-mc .mc-metas .variation dd p{margin:0!important;padding:0!important;line-height:1.4;display:inline}

.al-mc .mc-foot-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}
.al-mc .mc-qty{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:9px;height:30px;background:var(--card)}
.al-mc .mc-qty button{width:28px;height:28px;font-size:15px;font-weight:800;color:var(--purple);display:grid;place-items:center;transition:background .15s;border-radius:7px;padding:0}
.al-mc .mc-qty button:hover{background:var(--purple-soft)}
.al-mc .mc-qty .mc-qty-val{min-width:22px;text-align:center;font-size:13px;font-weight:800;color:var(--t-strong);font-variant-numeric:tabular-nums}
.al-mc .mc-once{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--light)}
.al-mc .mc-once svg{width:12px;height:12px;color:var(--purple)}
.al-mc .mc-price{font-family:'Open Sans',sans-serif;font-weight:800;font-size:16.5px;color:var(--orange);white-space:nowrap;font-variant-numeric:tabular-nums}
.al-mc .mc-price.pop{animation:al-mc-pop .42s var(--spring)}
@keyframes al-mc-pop{0%{transform:scale(.72);opacity:.5}60%{transform:scale(1.08)}100%{transform:scale(1)}}

/* ---------------- footer ---------------- */
.al-mc .mc-foot{padding:15px 18px 18px;border-top:1px solid var(--line);background:linear-gradient(180deg,#fff,#fcfbfe)}
.al-mc .mc-sub{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:3px}
.al-mc .mc-sub .lbl{font-size:14px;font-weight:700;color:var(--t-mid)}
.al-mc .mc-sub .amt{font-family:'Open Sans',sans-serif;font-weight:800;font-size:26px;color:var(--orange);letter-spacing:-.6px;font-variant-numeric:tabular-nums}
.al-mc .mc-sub .amt.pop{animation:al-mc-pop .42s var(--spring)}
.al-mc .mc-note{font-size:12px;font-weight:600;color:var(--light);margin:0 0 15px}
.al-mc .mc-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:10px}
.al-mc .mc-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:12px;font-weight:800;font-size:14.5px;transition:transform .15s,background .2s,box-shadow .2s,color .2s}
.al-mc .mc-btn.ghost{color:var(--purple);background:var(--purple-soft);border:1.5px solid #e6dff5}
.al-mc .mc-btn.ghost:hover{background:var(--purple);color:#fff;border-color:var(--purple)}
.al-mc .mc-btn.primary{color:#fff;background:var(--orange);box-shadow:0 8px 20px rgba(242,140,0,.32)}
.al-mc .mc-btn.primary:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 12px 26px rgba(242,140,0,.42)}
.al-mc .mc-btn.primary:active{transform:translateY(0)}
.al-mc .mc-btn svg{width:17px;height:17px}
.al-mc .mc-trust{margin-top:12px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:11.5px;font-weight:600;color:var(--light)}
.al-mc .mc-trust svg{width:13px;height:13px;color:var(--purple)}

/* ---------------- empty state ---------------- */
.al-mc .mc-empty{padding:34px 26px 30px;text-align:center}
.al-mc .mc-empty-art{width:88px;height:88px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle at 50% 38%,var(--purple-soft),var(--orange-soft))}
.al-mc .mc-empty-art::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px dashed rgba(90,61,142,.28)}
.al-mc .mc-empty-art svg{width:38px;height:38px;color:var(--purple)}
.al-mc .mc-empty h4{font-size:18px;font-weight:800;color:var(--t-mid);margin-bottom:8px}
.al-mc .mc-empty p{font-size:13.5px;font-weight:600;color:var(--t-main);margin:0 auto 20px;max-width:260px}
.al-mc .mc-empty .mc-btn.primary{max-width:230px;margin:0 auto}

/* busy overlay during ajax */
.al-mc .al-mc__panel.is-busy .widget_shopping_cart_content{opacity:.5;pointer-events:none;transition:opacity .2s}

/* ---------------- mobile bottom drawer (~≤760px) ---------------- */
@media(max-width:760px){
  .ova-menu-cart.al-mc.is-open::after{content:"";position:fixed;inset:0;background:rgba(38,24,70,.5);backdrop-filter:blur(2px);z-index:9998}
  .ova-menu-cart.al-mc .al-mc__panel{
    position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;max-width:100%;
    border-radius:22px 22px 0 0;transform:translateY(100%);transform-origin:bottom center;
    max-height:88vh;display:flex;flex-direction:column;
    box-shadow:0 -20px 50px rgba(40,24,80,.35);
  }
  .ova-menu-cart.al-mc.is-open .al-mc__panel{transform:translateY(0);top:auto}
  /* mobile = click/tap only (hover-open lives in the min-width:761 MQ) */
  .ova-menu-cart.al-mc .al-mc__panel::after{display:none}
  .al-mc .mc-items{max-height:none;flex:1}
}

@media(prefers-reduced-motion:reduce){.al-mc *{animation:none!important;transition:none!important}}
