/*
Theme Name: Akademia Piękna — motyw własny
Theme URI: 
Author: (do uzupełnienia)
Author URI: 
Description: Autorski motyw WordPress + WooCommerce dla akademii stylizacji paznokci. Bez page buildera — cały wygląd pisany w kodzie.
Version: 0.1.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ks-akademia
*/

:root{
  --cream:#F1EAE0;
  --cream-2:#E8DCC9;
  --wine:#3B1420;
  --ink:#1B1815;
  --gold:#A9824C;
  --ivory:#F7F1E7;
  --taupe:#B79A78;
  --text-dark:#2A2320;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Jost', sans-serif;
  color:var(--text-dark);
  background:var(--cream);
  font-weight:300;
  line-height:1.7;
  margin:0;
}
h1,h2,h3{font-family:'Cormorant Garamond', serif; font-weight:500; line-height:1.1; margin:0;}
p{margin:0;}
a{text-decoration:none; color:inherit;}
img{max-width:100%; display:block;}
ul{list-style:none; margin:0; padding:0;}

.container{max-width:1400px; margin:0 auto; padding:0 40px;}
.eyebrow{font-size:13px; letter-spacing:0.28em; text-transform:uppercase; font-weight:500;}
.script{font-family:'Aguafina Script', cursive; font-weight:400; line-height:1;}

/* ---------- Przyciski ---------- */
.ksa-btn{display:inline-block; padding:14px 30px; font-size:12px; letter-spacing:0.18em; text-transform:uppercase; font-weight:500; border:1px solid var(--ink); transition:.25s;}
.ksa-btn--solid{background:var(--ink); color:var(--ivory);}
.ksa-btn--solid:hover{background:transparent; color:var(--ink);}
.ksa-btn--outline{background:transparent; color:var(--ink);}
.ksa-btn--outline:hover{background:var(--ink); color:var(--ivory);}
.ksa-btn--outline-light{border:1px solid var(--ivory); color:var(--ivory);}
.ksa-btn--outline-light:hover{background:var(--ivory); color:var(--wine);}

/* ---------- Nawigacja ---------- */
.ksa-site-header{position:sticky; top:0; z-index:100; background:var(--cream); border-bottom:1px solid rgba(42,35,32,0.08);}
.ksa-nav{display:flex; align-items:center; justify-content:space-between; padding:22px 40px; max-width:1400px; margin:0 auto; gap:24px;}
.ksa-nav__right{display:flex; align-items:center; gap:48px;}
.ksa-nav__brand{display:flex; align-items:center; gap:16px;}
.ksa-brand-mark{width:46px; height:46px; border:1px solid var(--ink); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-size:20px;}
.ksa-brand-text__name{font-size:15px; letter-spacing:0.15em; text-transform:uppercase; font-weight:500;}
.ksa-brand-text__tag{font-size:10px; letter-spacing:0.22em; text-transform:uppercase; color:var(--taupe);}
.ksa-nav__links{display:flex; gap:34px; font-size:12.5px; letter-spacing:0.15em; text-transform:uppercase;}
.ksa-nav__links a{border-bottom:1px solid transparent; padding-bottom:4px; transition:border-color .2s;}
.ksa-nav__links a:hover{border-color:var(--gold);}

/* ---------- Ramka-łuk (element sygnaturowy) ---------- */
.ksa-arch{position:relative; width:100%; aspect-ratio:3/4; border-radius:220px 220px 8px 8px; overflow:hidden; background:linear-gradient(160deg,#DCCBB4,#C9AD8C); display:flex; align-items:flex-end; justify-content:center;}
.ksa-arch img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0;}
.ksa-arch .ksa-ph{position:relative; z-index:1; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:#5c4a36; margin-bottom:26px; border:1px solid rgba(60,45,25,0.35); padding:8px 16px; background:rgba(241,234,224,0.55);}

/* ---------- Hero v2 — pełny bleed zdjęcia do krawędzi, sygnatura pionowa ---------- */
.ksa-hero-v2{
  position:relative;
  display:grid;
  grid-template-columns:1fr min(600px, 46%);
  align-items:center;
  overflow:hidden;
}
.ksa-hero-v2__text{
  padding-left:max(40px, calc(50vw - 660px));
  padding-right:70px;
  padding-top:60px;
  padding-bottom:60px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.ksa-hero-v2__text h1{font-size:58px; letter-spacing:0.01em; margin:18px 0 22px;}
.ksa-hero-v2__text h1 .ksa-line-script{font-family:'Aguafina Script',cursive; font-size:52px; color:var(--gold); font-weight:400; display:block; margin-top:4px;}
.ksa-hero-v2__text p{max-width:460px; font-size:15.5px; color:#4a423d; margin-bottom:32px;}
.ksa-hero-v2__photo{position:relative; overflow:hidden; border-radius:260px 0 0 0; aspect-ratio:4/5; width:100%;}
.ksa-hero-v2__photo img{width:100%; height:100%; object-fit:cover; object-position:top center; display:block; position:absolute; inset:0;}
.ksa-hero-v2__signature{position:absolute; right:28px; top:0; bottom:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; z-index:2;}
.ksa-hero-v2__signature::before, .ksa-hero-v2__signature::after{content:''; width:1px; height:50px; background:rgba(42,35,32,0.35);}
.ksa-hero-v2__signature span{writing-mode:vertical-rl; text-orientation:upright; font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:var(--text-dark); font-weight:500;}
.ksa-hero-v2__signature .ksa-sig-dot{width:4px; height:4px; border-radius:50%; background:var(--gold); writing-mode:horizontal-tb;}
.ksa-hero-buttons{display:flex; gap:16px;}

/* ---------- Pasek statystyk ---------- */
.ksa-stats{background:var(--ink); color:var(--ivory);}
.ksa-stats__inner{max-width:1400px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); text-align:center;}
.ksa-stats__inner div{padding:38px 20px; border-left:1px solid rgba(247,241,231,0.14);}
.ksa-stats__inner div:first-child{border-left:none;}
.ksa-stats__inner .num{font-family:'Cormorant Garamond',serif; font-size:34px; color:var(--gold);}
.ksa-stats__inner .lbl{font-size:11.5px; letter-spacing:0.14em; text-transform:uppercase; color:#c9c0b4; margin-top:6px;}

/* ---------- Sekcja "poznajmy się" ---------- */
.ksa-about{background:var(--wine); color:var(--ivory); padding:110px 40px;}
.ksa-about__inner{max-width:1400px; margin:0 auto; display:grid; grid-template-columns:0.75fr 1fr; gap:80px; align-items:center;}
.ksa-about .ksa-arch{aspect-ratio:4/5; background:linear-gradient(160deg,#7a5a44,#5c4230);}
.ksa-about .ksa-ph{color:#f1e7d8; border-color:rgba(247,241,231,0.4); background:rgba(59,20,32,0.35);}
.ksa-about h2.script{font-size:56px; color:var(--gold); margin-bottom:22px;}
.ksa-about p{font-size:15px; color:#e8dccb; max-width:520px; margin-bottom:16px;}

/* ---------- Szkolenia ---------- */
.ksa-courses{padding:110px 40px; text-align:center;}
.ksa-courses .eyebrow{color:var(--gold);}
.ksa-courses h2.script{font-size:50px; margin:14px 0 60px; color:var(--wine);}
.ksa-course-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:44px; text-align:left;}
.ksa-course-card .ksa-arch{aspect-ratio:4/5; margin-bottom:24px; background:linear-gradient(160deg,#d8d0c2,#b7ad9a); border-radius:180px 180px 6px 6px; position:relative;}
.ksa-course-card .ksa-ph{color:#43392c; background:rgba(241,234,224,0.6);}
.ksa-badge{position:absolute; top:18px; right:18px; z-index:2; background:var(--ink); color:var(--ivory); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; padding:6px 12px; border-radius:20px;}
.ksa-course-card h3{font-size:23px; margin-bottom:10px;}
.ksa-course-card p{font-size:14px; color:#5a5148; margin-bottom:18px; min-height:66px;}
.ksa-course-card a{font-size:12px; letter-spacing:0.15em; text-transform:uppercase; border-bottom:1px solid var(--gold); padding-bottom:4px; color:var(--wine); font-weight:500;}
.ksa-course-card a.ksa-btn{border:1px solid var(--ink); padding:12px 26px; color:var(--ink); text-transform:uppercase; letter-spacing:0.15em; font-weight:500;}
.ksa-course-card a.ksa-btn--outline:hover{background:var(--ink); color:var(--ivory);}

/* ---------- Galeria / karuzela ---------- */
.ksa-gallery{background:var(--cream-2); padding:110px 0;}
.ksa-gallery .head{max-width:1400px; margin:0 auto 64px; padding:0 40px; text-align:center;}
.ksa-gallery h2.script{font-size:50px; color:var(--wine);}
.ksa-carousel{display:flex; gap:26px; overflow-x:auto; padding:10px 40px 26px; scroll-snap-type:x mandatory;}
.ksa-carousel::-webkit-scrollbar{height:5px;}
.ksa-carousel::-webkit-scrollbar-thumb{background:var(--taupe);}
.ksa-car-item{flex:0 0 260px; scroll-snap-align:start;}
.ksa-car-item .ksa-arch{aspect-ratio:3/4; background:linear-gradient(160deg,#e2d5c0,#c3ab88); border-radius:130px 130px 6px 6px;}
.ksa-car-item .ksa-ph{color:#43392c; background:rgba(241,234,224,0.65); font-size:10px;}
.ksa-car-item .cap{margin-top:14px; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:#5a5148; text-align:center;}

/* ---------- Stopka ---------- */
.ksa-footer{background:var(--ink); color:var(--ivory); padding:70px 40px 30px;}
.ksa-footer__inner{max-width:1400px; margin:0 auto; display:grid; grid-template-columns:1.1fr 1fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(247,241,231,0.14);}
.ksa-footer h4{font-size:12px; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; font-weight:500; font-family:'Jost',sans-serif;}
.ksa-footer p, .ksa-footer a{font-size:13.5px; color:#cfc6b8; display:block; margin-bottom:8px;}
.ksa-footer ul li{margin-bottom:8px;}
.ksa-copyright{max-width:1400px; margin:24px auto 0; text-align:center; font-size:11.5px; color:#8f887c; letter-spacing:0.05em;}

/* ---------- WooCommerce — reguły bazowe ---------- */
.ksa-shop-banner{background:var(--wine); color:var(--ivory); padding:70px 0 50px; text-align:center;}
.ksa-shop-banner h1{font-size:44px; color:var(--gold); margin:10px 0 14px;}
.ksa-shop-banner .woocommerce-breadcrumb{font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:#d8c9b8; margin-bottom:6px;}
.ksa-shop-banner .woocommerce-breadcrumb a{color:#d8c9b8; border-bottom:1px solid rgba(216,201,184,0.4);}
.ksa-shop-main{padding-top:60px; padding-bottom:80px;}
.ksa-shop-banner--inline{margin:-70px -40px 50px;}

/* Siatka produktów — działa na klasach, które WooCommerce generuje samo (content-product.php woła tylko hooki) */
.woocommerce ul.products{display:grid; grid-template-columns:repeat(3, 1fr); gap:44px; list-style:none; padding:0; margin:0;}
.woocommerce ul.products li.product{width:auto; float:none; text-align:left;}
.woocommerce ul.products li.product a.woocommerce-loop-product__link{position:relative; display:block; width:100%; aspect-ratio:4/5; margin-bottom:20px; border-radius:180px 180px 6px 6px; overflow:hidden; background:linear-gradient(160deg,#d8d0c2,#b7ad9a);}
.woocommerce ul.products li.product a.woocommerce-loop-product__link img{width:100%; height:100%; object-fit:cover; margin:0;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:500; margin:0 0 6px;}
.woocommerce ul.products li.product .price{font-family:'Jost',sans-serif; font-size:15px; color:var(--wine); font-weight:500;}
.woocommerce ul.products li.product .price del{color:#a39a8e; font-weight:400; margin-right:8px;}
.woocommerce ul.products li.product .button{display:inline-block; margin-top:14px; padding:12px 26px; font-size:11.5px; letter-spacing:0.16em; text-transform:uppercase; font-weight:500; border:1px solid var(--ink); background:transparent; color:var(--ink); transition:.25s;}
.woocommerce ul.products li.product .button:hover{background:var(--ink); color:var(--ivory);}
.woocommerce span.onsale{position:absolute; top:16px; right:16px; z-index:2; background:var(--gold); color:var(--ivory); font-size:10px; letter-spacing:0.12em; text-transform:uppercase; padding:6px 12px; border-radius:20px; margin:0;}
.woocommerce .star-rating{font-size:13px; color:var(--gold); margin-bottom:6px;}
.woocommerce-page .container{padding-top:0;}

/* Pojedynczy produkt — kontener-karta zamiast "gołego" zdjęcia na całą szerokość */
.ksa-single-product{padding-top:60px; padding-bottom:80px;}
.ksa-single-product .product{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:start;
  background:var(--cream-2);
  padding:40px;
  border-radius:16px;
}
/* PUŁAPKA CSS GRID: domyślnie grid item ma min-width:auto, więc potrafi rozepchnąć
   kolumnę do naturalnego rozmiaru obrazka zamiast trzymać się 1fr. Bez tego druga
   kolumna (summary) zostaje wypchnięta poza widoczny obszar. */
.ksa-single-product .product > *{
  min-width:0;
}
.ksa-single-product .product .woocommerce-product-gallery{
  border-radius:12px;
  overflow:hidden;
  max-width:100%;
}
.ksa-single-product .product .woocommerce-product-gallery img{
  width:100%;
  height:auto;
  max-height:520px;
  object-fit:cover;
  display:block;
  margin:0;
}
.ksa-single-product .product .woocommerce-product-gallery .flex-control-thumbs{display:flex; gap:10px; padding:0; margin:14px 0 0; list-style:none;}
.ksa-single-product .product .woocommerce-product-gallery .flex-control-thumbs li{width:70px;}
.ksa-single-product .product .woocommerce-product-gallery .flex-control-thumbs img{width:100%; height:70px; max-height:70px; object-fit:cover; border-radius:6px; cursor:pointer;}
.ksa-single-product .product .summary{padding-top:10px;}
.ksa-single-product .product .summary .product_title{font-size:32px; margin-bottom:14px;}
.ksa-single-product .product .summary .price{font-size:20px; color:var(--wine); font-family:'Cormorant Garamond',serif; margin-bottom:18px; display:block;}
.ksa-single-product .product .summary .cart{margin-top:24px; margin-bottom:30px;}
.ksa-single-product .product .summary .button{padding:14px 34px; font-size:12px; letter-spacing:0.18em; text-transform:uppercase; font-weight:500; background:var(--ink); color:var(--ivory); border:1px solid var(--ink);}
.ksa-single-product .product .summary .button:hover{background:transparent; color:var(--ink);}
.ksa-single-product .product .summary .product_meta{margin-top:28px; font-size:13px; color:var(--text-dark);}
.ksa-single-product .product .summary .product_meta > span{display:block; margin-bottom:4px;}
/* Domyślne <ins>/<del> w cenie promocyjnej mają przeglądarkowe podkreślenie/przekreślenie — ujednolicamy */
.price ins{text-decoration:none;}
.price del{opacity:0.55;}
/* Zakładki, upsell i powiązane produkty mają rozciągać się na całą szerokość karty, a nie wciskać w drugą kolumnę */
.ksa-single-product .product .woocommerce-tabs,
.ksa-single-product .product .upsells,
.ksa-single-product .product .related.products{
  grid-column:1 / -1;
}
.ksa-single-product .woocommerce-tabs{margin-top:50px; border-top:1px solid var(--taupe); padding-top:30px;}
.ksa-single-product .woocommerce-tabs ul.tabs{display:flex; gap:30px; list-style:none; padding:0; margin:0 0 24px;}
.ksa-single-product .woocommerce-tabs ul.tabs li{font-size:12px; letter-spacing:0.14em; text-transform:uppercase;}
.ksa-single-product .woocommerce-tabs ul.tabs li.active a{color:var(--wine); border-bottom:1px solid var(--gold); padding-bottom:6px;}
.ksa-single-product .related.products{margin-top:70px;}
.ksa-single-product .related.products > h2{font-family:'Cormorant Garamond',serif; font-size:32px; margin-bottom:30px;}

@media(max-width:860px){
  .ksa-hero-v2{grid-template-columns:1fr; height:auto;}
  .ksa-hero-v2__text{padding-left:24px; padding-right:24px; padding-top:50px; padding-bottom:40px;}
  .ksa-hero-v2__photo{border-radius:0;}
  .ksa-hero-v2__signature{display:none;}
  .ksa-about__inner{grid-template-columns:1fr;}
  .ksa-course-grid{grid-template-columns:1fr;}
  .ksa-stats__inner{grid-template-columns:repeat(2,1fr);}
  .ksa-nav__links{display:none;}
  .ksa-footer__inner{grid-template-columns:1fr;}
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr);}
  .ksa-contact__grid{grid-template-columns:1fr;}
  .ksa-single-product .product{grid-template-columns:1fr; padding:24px;}
}

/* Koszyk / kasa / konto — pułapka #9, bez tego wyglądają "z lat 2010" */
table.shop_table{width:100%; border-collapse:collapse; margin-bottom:30px; font-size:14px;}
table.shop_table th{text-align:left; padding:14px 12px; border-bottom:1px solid var(--ink); font-size:11.5px; letter-spacing:0.12em; text-transform:uppercase; font-weight:500;}
table.shop_table td{padding:16px 12px; border-bottom:1px solid var(--taupe);}
.cart_totals{background:var(--cream-2); padding:30px; margin-top:20px;}
.cart_totals table.shop_table td, .cart_totals table.shop_table th{border-bottom:1px solid #d9cbb2;}
.cart_totals .order-total .amount{font-size:20px; font-family:'Cormorant Garamond',serif; color:var(--wine);}
#place_order, .checkout-button, .wc-proceed-to-checkout .button{display:inline-block; width:100%; text-align:center; padding:16px; font-size:12px; letter-spacing:0.18em; text-transform:uppercase; font-weight:500; background:var(--ink); color:var(--ivory); border:1px solid var(--ink);}
#place_order:hover, .checkout-button:hover{background:transparent; color:var(--ink);}
.woocommerce-checkout input.input-text, .woocommerce-checkout select, .woocommerce form .form-row textarea{width:100%; padding:12px 14px; border:1px solid var(--taupe); background:var(--cream); font-family:'Jost',sans-serif; font-size:14px;}
.woocommerce-checkout label{font-size:12.5px; letter-spacing:0.06em; margin-bottom:6px; display:block;}
ul.wc_payment_methods{list-style:none; padding:0; margin:0 0 20px;}
ul.wc_payment_methods li{padding:14px; border:1px solid var(--taupe); margin-bottom:10px;}
.woocommerce-MyAccount-navigation ul{list-style:none; padding:0; margin:0;}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--taupe);}
.woocommerce-MyAccount-navigation li a{display:block; padding:14px 4px; font-size:13px; letter-spacing:0.08em; text-transform:uppercase;}
.woocommerce-MyAccount-navigation li.is-active a{color:var(--wine); font-weight:500;}
.woocommerce-form-login .button, .woocommerce-form-register .button{background:var(--ink); color:var(--ivory); border:1px solid var(--ink); padding:14px 30px; font-size:12px; letter-spacing:0.16em; text-transform:uppercase;}

/* ---------- Szkolenia — strona rozdzielacz (stacjonarne / online) ---------- */
.ksa-szkolenia-hub{padding:90px 0 110px;}
.ksa-hub-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px;}
.ksa-hub-card{display:block; background:var(--cream-2); border-radius:16px; overflow:hidden; transition:.25s; color:inherit;}
a.ksa-hub-card:hover{transform:translateY(-4px); box-shadow:0 12px 30px rgba(42,35,32,0.12);}
.ksa-hub-card .ksa-arch{border-radius:0; aspect-ratio:4/3; position:relative;}
.ksa-hub-card__body{padding:32px;}
.ksa-hub-card__body h2{font-size:26px; margin-bottom:12px;}
.ksa-hub-card__body p{font-size:14.5px; color:#5a5148; margin-bottom:22px; min-height:66px;}
.ksa-hub-card--soon{opacity:0.85;}

@media(max-width:860px){
  .ksa-hub-grid{grid-template-columns:1fr;}
}
.ksa-gallery-page{padding:80px 0;}
.ksa-gallery-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:20px;}
.ksa-gallery-grid__item{aspect-ratio:3/4; overflow:hidden; border-radius:12px; background:var(--cream-2);}
.ksa-gallery-grid__item img{width:100%; height:100%; object-fit:cover; display:block;}

@media(max-width:1100px){
  .ksa-gallery-grid{grid-template-columns:repeat(3, 1fr);}
}
@media(max-width:700px){
  .ksa-gallery-grid{grid-template-columns:repeat(2, 1fr);}
}
.ksa-contact{padding:70px 0 90px;}
.ksa-contact__grid{display:grid; grid-template-columns:0.8fr 1.2fr; gap:60px; align-items:start;}
.ksa-contact__info h2{font-size:24px; margin-bottom:20px;}
.ksa-contact__info p{margin-bottom:20px; font-size:14.5px; line-height:1.6;}
.ksa-contact__info strong{display:block; font-size:11.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); margin-bottom:4px; font-weight:500;}
.ksa-contact__map{margin-top:10px; border-radius:12px; overflow:hidden; border:1px solid var(--taupe);}
.ksa-contact__map iframe{display:block;}
.ksa-contact__form{background:var(--cream-2); padding:40px; border-radius:16px;}
.ksa-form-row{margin-bottom:20px;}
.ksa-form-row label{display:block; font-size:12.5px; letter-spacing:0.08em; margin-bottom:6px;}
.ksa-form-row input, .ksa-form-row textarea{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--taupe);
  background:var(--cream);
  font-family:'Jost',sans-serif;
  font-size:14px;
  color:var(--text-dark);
}
.ksa-form-row input:focus, .ksa-form-row textarea:focus{outline:none; border-color:var(--gold);}
.ksa-form-notice{padding:16px 18px; margin-bottom:24px; font-size:14px;}
.ksa-form-notice--ok{background:#e7ede0; color:#3b4a2a; border:1px solid #b9caa4;}
.ksa-form-notice--error{background:#f3e2e0; color:#6b2a22; border:1px solid #dcb0a9;}


