/*
Theme Name:  BlueOasis Child
Template:    storefront
Description: Motyw potomny Storefront — wierna stylizacja pod oryginalną stronę BlueOasis / PoolWorld (baseny Drop Stitch).
Author:      BlueOasis / MISTRA Sp. z o.o. Sp.k.
Version:     2.0.0
Text Domain: blueoasis-child
*/

/* ═══════ TOKENY — 1:1 z poolworld.html ═══════ */
:root{
  --aqua:#0096c7; --aqua-d:#0077a8; --aqua-l:#e0f4fb; --aqua-ll:#f0f9fd;
  --navy:#0d2847; --deep:#06182e;
  --text:#1a2a3a; --muted:#5a7a90;
  --bg:#f4f9fd; --white:#fff;
  --border:rgba(0,150,199,0.15);
  --shadow:0 4px 24px rgba(0,100,180,0.10);
  --r:8px; --gold:#c07800;
}

/* ═══════ BAZA ═══════ */
body{
  font-family:'DM Sans',sans-serif !important;
  background:var(--bg) !important;
  color:var(--text);
}
h1,h2,h3,h4,
.site-branding .site-title,
.woocommerce-products-header__title,
.product_title,
.wc-block-components-title{
  font-family:'Cormorant Garamond',serif !important;
  font-weight:300 !important;
  color:var(--navy);
}
h1 em,h2 em{ font-style:italic; color:var(--aqua); }

/* ═══════ NAGŁÓWEK — sticky, blur, jak nav oryginału ═══════ */
.site-header{
  background:rgba(255,255,255,.97) !important;
  border-bottom:1px solid var(--border);
  box-shadow:0 2px 12px rgba(0,100,180,.07);
  backdrop-filter:blur(12px);
  position:sticky; top:0; z-index:500;
}
.site-header .site-title a{
  font-family:'Cormorant Garamond',serif !important;
  color:var(--navy) !important; font-weight:600;
}
.site-header .main-navigation ul li a{
  font-size:.78rem; font-weight:500; letter-spacing:.07em;
  text-transform:uppercase; color:var(--muted) !important;
  border-bottom:2px solid transparent;
  transition:color .2s,border-color .2s;
}
.site-header .main-navigation ul li a:hover,
.site-header .main-navigation ul li.current-menu-item a{
  color:var(--aqua) !important; border-bottom-color:var(--aqua);
}
.site-header-cart .cart-contents{ color:var(--navy) !important; }
.site-header-cart .cart-contents .count{ background:var(--aqua); color:#fff; }

/* ═══════ HERO — gradient + zdjęcie + statystyki ═══════ */
.bo-hero{
  background:linear-gradient(135deg,#0a2540 0%,#0d4a85 50%,#0096c7 100%);
  padding:4rem 5vw 3rem; position:relative; overflow:hidden;
}
.bo-hero::before{
  content:''; position:absolute; inset:0;
  background:var(--bo-hero-img) center/cover no-repeat; opacity:.15;
}
.bo-hero-inner{
  position:relative; max-width:1280px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:2rem; flex-wrap:wrap;
}
.bo-hero h1{
  font-family:'Cormorant Garamond',serif !important;
  font-size:clamp(2.2rem,5vw,3.8rem) !important;
  font-weight:300 !important; color:#fff !important; line-height:1.1;
  margin:0;
}
.bo-hero h1 em{ font-style:italic; color:#7ee8ff; }
.bo-hero p{
  color:rgba(255,255,255,.7); margin-top:.5rem;
  font-size:.95rem; max-width:480px;
}
.bo-hero-badges{ display:flex; gap:.8rem; flex-wrap:wrap; margin-top:1.2rem; }
.bo-hero-badge{
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2);
  color:rgba(255,255,255,.9); padding:6px 14px; border-radius:20px;
  font-size:.75rem; backdrop-filter:blur(4px);
}
.bo-hero-stats{ display:flex; gap:1.5rem; flex-wrap:wrap; }
.bo-stat{ text-align:center; color:#fff; }
.bo-stat .sv{
  font-family:'Cormorant Garamond',serif; font-size:2rem;
  font-weight:300; color:#7ee8ff; line-height:1;
}
.bo-stat .sl{
  font-size:.68rem; letter-spacing:.12em; text-transform:uppercase;
  opacity:.6; margin-top:2px;
}

/* ═══════ TYTUŁY SEKCJI — z linią jak w oryginale ═══════ */
.bo-section-title,
.related.products > h2,
.up-sells > h2{
  font-family:'Cormorant Garamond',serif !important;
  font-size:1.8rem !important; font-weight:300 !important;
  margin-bottom:1.5rem; display:flex; align-items:center; gap:12px;
}
.bo-section-title::after,
.related.products > h2::after,
.up-sells > h2::after{
  content:''; flex:1; height:1px; background:var(--border);
}

/* ═══════ KARTY PRODUKTÓW — 1:1 hover z oryginału ═══════ */
ul.products li.product{
  background:#fff !important;
  border:1px solid var(--border);
  border-radius:var(--r);
  overflow:hidden;
  transition:transform .3s,box-shadow .3s,border-color .3s;
  display:flex; flex-direction:column;
  padding:0 !important;
}
ul.products li.product:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 50px rgba(0,100,180,.13);
  border-color:rgba(0,150,199,.35);
}
ul.products li.product .woocommerce-LoopProduct-link img{
  aspect-ratio:4/3; object-fit:cover; width:100%;
  transition:transform .5s; margin:0 !important;
  background:linear-gradient(135deg,#ddeef8,#c0dff0);
}
ul.products li.product:hover .woocommerce-LoopProduct-link img{
  transform:scale(1.05);
}
ul.products li.product .woocommerce-loop-product__title{
  font-family:'Cormorant Garamond',serif !important;
  font-size:1.2rem !important; font-weight:400 !important;
  color:var(--text) !important; padding:0 1rem;
}
ul.products li.product .price{
  font-family:'Cormorant Garamond',serif !important;
  font-size:1.6rem !important; font-weight:300 !important;
  color:var(--aqua) !important; padding:0 1rem;
}
ul.products li.product .button{ margin:0 1rem 1rem; }

/* Badge wyprzedaży w stylu badge'y oryginału */
ul.products li.product .onsale,
.single-product span.onsale{
  background:var(--aqua) !important; color:#fff;
  border-radius:3px; font-size:.62rem; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase;
  padding:4px 10px; min-height:0; line-height:1.4;
}

/* ═══════ PRZYCISKI ═══════ */
.button,button,input[type=submit],
.woocommerce a.button,
.wc-block-components-button,
.single_add_to_cart_button{
  background:var(--aqua) !important; color:#fff !important;
  border-radius:6px !important; font-family:'DM Sans',sans-serif !important;
  font-weight:500 !important;
  transition:background .2s,transform .15s,box-shadow .2s !important;
  box-shadow:0 2px 12px rgba(0,150,199,.25);
}
.button:hover,.woocommerce a.button:hover,
.single_add_to_cart_button:hover{
  background:var(--aqua-d) !important; transform:translateY(-1px);
}
.checkout-button,#place_order{
  background:var(--navy) !important;
  box-shadow:0 4px 14px rgba(13,40,71,.3);
}
.checkout-button:hover,#place_order:hover{ background:#1a3a5c !important; }

/* ═══════ STRONA PRODUKTU ═══════ */
.single-product .product_title{
  font-size:clamp(1.8rem,3vw,2.6rem) !important;
}
.single-product p.price{
  font-size:1.9rem !important; font-weight:700 !important;
  color:var(--aqua-d) !important;
}
.woocommerce-product-gallery{ border-radius:var(--r); overflow:hidden; }
.woocommerce-tabs ul.tabs li.active a{ color:var(--aqua) !important; }

/* ═══════ SEKCJA ZALET (features) — jak w oryginale ═══════ */
.bo-features{ max-width:1280px; margin:0 auto; padding:2.5rem 5vw; }
.bo-features-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1rem;
}
.bo-feat{
  background:var(--aqua-ll); border:1px solid var(--border);
  border-radius:6px; padding:.9rem; transition:background .2s;
}
.bo-feat:hover{ background:var(--aqua-l); }
.bo-feat-icon{ font-size:1.5rem; margin-bottom:.4rem; }
.bo-feat h4{
  font-family:'DM Sans',sans-serif !important;
  font-size:.9rem !important; font-weight:600 !important;
  color:var(--text) !important; margin:.2rem 0;
}
.bo-feat p{ font-size:.8rem; color:var(--muted); line-height:1.6; margin:0; }

/* ═══════ ANIMACJE — popIn + reveal przy przewijaniu ═══════ */
@keyframes popIn{
  from{ transform:scale(0); opacity:0 }
  to{ transform:scale(1); opacity:1 }
}
@keyframes boFadeUp{
  from{ opacity:0; transform:translateY(24px) }
  to{ opacity:1; transform:translateY(0) }
}
.bo-reveal{ opacity:0; transform:translateY(24px);
  transition:opacity .6s ease,transform .6s ease; }
.bo-reveal.bo-in{ opacity:1; transform:translateY(0); }
.woocommerce-message,.woocommerce-info{
  animation:popIn .5s cubic-bezier(.175,.885,.32,1.275);
  border-top-color:var(--aqua);
}
.woocommerce-message::before,.woocommerce-info::before{ color:var(--aqua); }

/* ═══════ CHECKOUT — pola firmowe ═══════ */
#bo_invoice_fields{ display:none; }
#bo_invoice_fields.bo-visible{ display:block; animation:boFadeUp .4s ease; }
.bo-invoice-toggle{ margin:1rem 0 .5rem; }

/* ═══════ ODZNAKI ZAUFANIA pod nagłówkiem ═══════ */
.bo-badges{
  display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; justify-content:center;
  background:var(--aqua-ll); border-bottom:1px solid var(--border);
  padding:.7rem 1rem; font-size:.85rem; color:var(--muted);
}
.bo-badges strong{ color:var(--aqua-d); }

/* ═══════ STOPKA ═══════ */
.site-footer{
  background:var(--navy) !important; color:rgba(255,255,255,.65) !important;
}
.site-footer a{ color:#7ee8ff !important; }
.site-footer h4{ color:#fff !important; }

/* ═══════ MOBILE ═══════ */
@media (max-width:600px){
  .bo-hero{ padding:2.5rem 5vw 2rem; }
  .bo-hero-stats{ gap:1rem; }
  .bo-stat .sv{ font-size:1.5rem; }
  .bo-badges{ font-size:.75rem; gap:.5rem .9rem; }
}
