/*
Theme Name: IbiPoint eSIM-Shop (Apple/Tesla Dark)
Template: astra
Version: 1.0.4
*/

/* tokens */
:root{
  --bg-0:#0b0b0c;--bg-1:#111214;--bg-2:#16181b;
  --text:#f5f6f7;--muted:#b6bbc4;--line:rgba(255,255,255,.08);
  --accent:#00ffef;--accent-2:#33ffff;--accent-3:#0099ff;
  --r:16px;--s1:0 6px 30px rgba(0,0,0,.35);--s2:0 12px 50px rgba(0,0,0,.45)
}

html,body{background:var(--bg-0);color:var(--text)}
body,button,input,select,textarea{
  font-family:-apple-system,BlinkMacSystemFont,Inter,"SF Pro Text","SF Pro Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale
}
a{color:#e5e7eb;text-decoration:none;transition:color .25s}
a:hover{color:var(--accent)}
h1,h2,h3,h4{letter-spacing:-.02em;color:var(--text)}h1{font-weight:800}h2,h3{font-weight:700}
.site,.ast-container,.site-content{background:transparent}.ast-container{max-width:1220px}
.site-header,.main-header-bar{background:rgba(10,10,11,.7)!important;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-footer{background:var(--bg-1);border-top:1px solid var(--line);color:var(--muted)}
.site-footer a{color:#d7dbe2}.site-footer a:hover{color:var(--accent)}

/* buttons – primary (filled aqua gradient) */
.button,.wp-element-button,.ast-button,.woocommerce a.button,
.woocommerce button.button,.woocommerce input.button,
.add_to_cart_button,.single_add_to_cart_button,.is-style-primary{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.9rem 1.2rem;border-radius:999px;border:none!important;color:#061010!important;
  background:linear-gradient(135deg,var(--accent),var(--accent-3))!important;
  box-shadow:0 4px 16px rgba(0,255,239,.25);transition:transform .25s,box-shadow .25s
}
.button:hover,.wp-element-button:hover,.woocommerce a.button:hover,
.woocommerce button.button:hover,.woocommerce input.button:hover,
.add_to_cart_button:hover,.single_add_to_cart_button:hover,.is-style-primary:hover{
  background:linear-gradient(135deg,var(--accent),var(--accent-2))!important;
  color:#000!important;transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,255,239,.4)
}

/* buttons – secondary (outline/ghost) */
.button.is-outline,.wp-element-button.is-outline,
.woocommerce a.button.secondary,.woocommerce button.button.secondary{
  background:transparent!important;color:var(--text)!important;
  border:1px solid rgba(0,255,239,.35)!important;border-radius:999px;
  box-shadow:inset 0 0 0 1px rgba(0,255,239,.15);transition:background .25s,border-color .25s,color .25s
}
.button.is-outline:hover,.wp-element-button.is-outline:hover,
.woocommerce a.button.secondary:hover,.woocommerce button.button.secondary:hover{
  background:linear-gradient(135deg,rgba(0,255,239,.12),rgba(0,153,255,.12))!important;
  border-color:rgba(0,255,239,.6)!important;color:var(--accent-2)!important
}

/* inputs */
input,select,textarea{
  background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:12px;
  padding:.9rem 1rem;transition:border-color .25s,box-shadow .25s
}
input::placeholder,textarea::placeholder{color:#88909c}
input:focus,select:focus,textarea:focus{border-color:rgba(0,255,239,.35);box-shadow:0 0 0 3px rgba(0,255,239,.15);outline:0}

/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--bg-1);color:var(--text);border:1px solid var(--line);border-radius:14px}

/* product grid/cards */
.woocommerce ul.products{gap:22px!important}
.woocommerce ul.products li.product{
  background:linear-gradient(180deg,var(--bg-1),var(--bg-2));border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;padding:14px;transition:transform .25s,box-shadow .25s,border-color .25s;box-shadow:var(--s1)
}
.woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:var(--s2);border-color:rgba(255,255,255,.12)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{color:var(--text);font:700 1.05rem/1.3 inherit;margin:.6rem 0 .25rem}
.woocommerce ul.products li.product .price{color:var(--text);opacity:.92;font-weight:700;margin-bottom:.6rem}
.woocommerce ul.products li.product img{border-radius:12px;aspect-ratio:1/1;object-fit:cover;background:#0f1113}
.woocommerce span.onsale{background:var(--accent);color:#05130a;border-radius:999px;top:14px;left:14px;min-width:48px;min-height:28px;line-height:28px;box-shadow:var(--s1)}

/* single product */
.single-product .product{background:linear-gradient(180deg,var(--bg-1),var(--bg-2));border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--s1)}
.single-product .entry-summary .price{font-size:1.6rem;font-weight:900}
.single-product .quantity .qty{min-width:110px;text-align:center}
.single-product .product_meta,.woocommerce-tabs{color:var(--muted)}
.woocommerce-tabs .tabs li a{color:#d6dae0}.woocommerce-tabs .panel{background:transparent;border-top:1px solid var(--line)}
.single-product .woocommerce-Tabs-panel--description:empty::before{content:attr(data-fallback);display:block;color:var(--muted)}

/* cart & checkout */
.woocommerce-cart .cart_totals,.woocommerce-checkout #order_review,
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{
  background:linear-gradient(180deg,var(--bg-1),var(--bg-2));border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--s1)
}
.woocommerce table.shop_table{background:transparent;border-color:var(--line);color:var(--text)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--line)}

/* shop header: hide results, style sort */
.woocommerce-result-count{display:none!important}
.woocommerce .woocommerce-ordering{margin-left:auto;margin-bottom:12px;position:relative}
.woocommerce-ordering select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background:linear-gradient(180deg,var(--bg-2),#0f1113);border:1px solid var(--line);border-radius:999px;
  padding:.65rem 2.5rem .65rem 1rem;font-size:.95rem;font-weight:500;color:var(--text);
  box-shadow:0 4px 16px rgba(0,0,0,.4);transition:all .25s
}
.woocommerce-ordering select:hover,.woocommerce-ordering select:focus{
  border-color:rgba(255,255,255,.2);box-shadow:0 0 0 3px rgba(0,255,239,.15);outline:0
}
.woocommerce-ordering::after{
  content:"⌄";position:absolute;right:1rem;top:50%;transform:translateY(-50%);pointer-events:none;
  font-size:.9rem;color:var(--muted);transition:color .25s
}
.woocommerce-ordering:hover::after{color:var(--accent)}

/* pay buttons wrappers */
.apple-pay-button,.gpay-button{min-height:48px}
.gpay-button iframe,.paypal-buttons iframe{border-radius:12px!important;overflow:hidden}

/* horizontal scroller hooks (if used) */
.wwesim-scroller{display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:16px;overflow-x:auto;padding:8px 4px 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
@media (min-width:900px){.wwesim-scroller{grid-auto-columns:25%}}
.wwesim-card{scroll-snap-align:start;background:linear-gradient(180deg,var(--bg-1),var(--bg-2));border:1px solid var(--line);border-radius:20px;padding:16px;min-height:220px;display:flex;flex-direction:column;gap:10px;justify-content:space-between;box-shadow:var(--s1);transition:transform .25s,box-shadow .25s}
.wwesim-card:hover{transform:translateY(-3px);box-shadow:var(--s2)}
.wwesim-tag{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.wwesim-title{font-weight:800;font-size:1.15rem}
.wwesim-cta{margin-top:auto}

/* === Details under Add to Cart === */
.ibipoint-details-after-cart{margin-top:1.5rem;line-height:1.6}

/* Tesla-style section heading: word above, long accent blending to neutral line */
.ibipoint-sec-heading{
  display:flex;flex-direction:column;align-items:flex-start;
  margin:1.25rem 0 1rem
}
.ibipoint-sec-heading span{
  font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);margin-bottom:6px
}
.ibipoint-sec-heading::after{
  content:"";display:block;width:100%;height:2px;border-radius:2px;
  background:linear-gradient(90deg,#00ffef 0%,#0099ff 30%,var(--line) 100%);
  box-shadow:0 0 6px rgba(0,255,239,.3)
}

/* separators & spacing */
.single-product .woocommerce-product-gallery{
  margin-bottom:3rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line)
}
.related.products{
  margin-top:3rem!important;padding-top:1.25rem;border-top:1px solid var(--line)
}
.related.products h2{margin-bottom:1rem}

/* title size + rhythm */
.single-product .product .product_title.entry-title{
  font-size:clamp(1.9rem,3vw,2.6rem);font-weight:800;letter-spacing:-.02em;
  padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--line);
  margin-top:-10px /* lift title */
}
.single-product .entry-summary .price{margin-top:.25rem}

/* gallery push for alignment */
.single-product .woocommerce-product-gallery{margin-top:69px}






/* Checkout button in menu */
.menu-checkout-btn > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: .6rem 1.2rem;
  border-radius: 999px;
  font-weight: 600;
  background: linear-gradient(135deg, #00ffef, #0099ff);
  color: #061010 !important;
  box-shadow: 0 4px 16px rgba(0,255,239,.25);
}
.menu-checkout-btn > a:hover {
  background: linear-gradient(135deg, #00ffef, #33ffff);
  color: #000 !important;
  box-shadow: 0 6px 24px rgba(0,255,239,.4);
}
.menu-checkout-btn > a::after {
  content: "›"; /* chevron */
  font-size: 1.2rem;
  color: #00ffef;
  text-shadow: 0 0 6px rgba(0,255,239,.6);
}