/*
Theme Name: Kiss by Vivien Shop
Theme URI: https://kissbyvivien.hu
Author: Kiss by Vivien
Author URI: https://kissbyvivien.hu
Description: Egyedi WooCommerce téma Kiss by Vivien webshophoz
Version: 1.0
Text Domain: kissbyvivien
*/

/* =========================
   GLOBAL TYPOGRAPHY + BASE
========================= */
:root{
  --kiss-bg: #fff5f8;
  --kiss-white: #fff;
  --kiss-text: #444;
  --kiss-muted: #777;
  --kiss-pink: #f28cb2;
  --kiss-pink-dark:#d81b60;
  --kiss-border:#fce4ec;
}

*{ box-sizing:border-box; }

body,
button,
input,
select,
textarea{
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.6;
  color: var(--kiss-text);
}

body{
  background: var(--kiss-bg);
  color: var(--kiss-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,h2,h3,h4,h5,h6{
  font-weight: 600;
  letter-spacing: .3px;
  color:#333;
  margin-top:0;
}

a{
  color: var(--kiss-pink);
  text-decoration:none;
  transition: .2s ease;
}
a:hover{ color: var(--kiss-pink-dark); }

.button,
button,
.woocommerce button.button{
  font-family:"Poppins",sans-serif;
  font-weight:600;
  letter-spacing:.4px;
  border:0;
  cursor:pointer;
}

/* gombok */
.button,
button,
.woocommerce button.button{
  font-family:"Poppins",sans-serif;
  font-weight:600;
  letter-spacing:.4px;
}

button,
.button,
.woocommerce button.button {
    background: #f28cb2;
    color: #fff;
    border-radius: 30px;
    padding: 12px 25px;
}

button:hover {
    background: #d81b60;
}

/* elegant buttons */
.button:hover{
  transform:translateY(-2px);
}

/* Gomb: csak hoverre jelenjen meg (Zara feeling) */
.kiss-archive-main ul.products li.product a.button{
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 12px !important;

  border-radius: 999px !important;
  background: #f28cb2 !important;
  color: #fff !important;
  padding: 12px 14px !important;
  text-align: center !important;
  font-weight: 700 !important;

  opacity: 0 !important;
  transform: translateY(10px) !important;
  transition: opacity .20s ease, transform .20s ease, background .20s ease !important;
  z-index: 5 !important;
}

.kiss-archive-main ul.products li.product:hover a.button{
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Mobil: 2 oszlop + kisebb kép, gomb mindig látszódjon */
@media (max-width: 980px){
  .kiss-archive-main ul.products li.product a.button{
    opacity: 1 !important;
    transform: none !important;
    position: static !important;
    margin-top: 10px !important;
  }
}

/* Gomb (My Account) */
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content button.button,
.woocommerce-account .woocommerce-MyAccount-content input.button{
  background: #f28cb2 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  font-weight: 700 !important;
  box-shadow: 0 10px 20px rgba(242,140,178,0.22);
}

.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-MyAccount-content button.button:hover,
.woocommerce-account .woocommerce-MyAccount-content input.button:hover{
  background: #d81b60 !important;
}

/* Gomb (My Account - másik blokk) */
body.woocommerce-account .woocommerce-button.button{
  background:#f28cb2 !important;
  border-radius:999px !important;
  padding:8px 16px !important;
  color:#fff !important;
  border:none !important;
}

body.woocommerce-account .woocommerce-button.button:hover{
  background:#d81b60 !important;
}

/* Woo titles / price */
.woocommerce-loop-product__title{
  font-family:"Poppins",sans-serif;
  font-weight:600;
  font-size:15px;
}
.woocommerce-loop-product__title:hover{ color: var(--kiss-pink); }
.price{
  font-family:"Poppins",sans-serif;
  font-weight:600;
  font-size:16px;
}

/* =========================
   HERO
========================= */
.hero{
  min-height: 80vh;
  background-size: cover;
  background-position: center;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-box{
  background: rgba(255,255,255,0.7);
  padding: 40px;
  border-radius: 20px;
  text-align:center;
}

/* HERO BUTTONS */
.hero .hero-buttons,
.hero-buttons{
  display:flex;
  gap:12px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  margin-top:14px;
}
.hero .hero-buttons .button,
.hero-buttons .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  white-space:nowrap;
  line-height:1.1;
  padding:14px 22px;
  border-radius:999px;
  font-weight:600;
}

/* mobil: egymás alatt */
@media (max-width:600px){
  .hero-buttons{
    flex-direction:column;
    align-items:center;
  }
  .hero-buttons .button{
    width:100%;
    max-width:260px;
    text-align:center;
  }
}
@media (max-width:520px){
  .hero .hero-buttons{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .hero .hero-buttons .button{
    width:100%;
    max-width:260px;
    margin:0 auto;
    padding:12px 16px !important;
    font-size:15px;
  }
}

/* =========================
   HEADER
========================= */
.kiss-header{
  background: #fff;
  border-bottom: 1px solid var(--kiss-border);
  padding: 15px 0;
  position: relative;
  z-index: 1000002;
}

.kiss-container{
  max-width: 1300px;
  margin: auto;
  padding: 0 20px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

/* LOGO */
.kiss-logo{ flex:0 0 auto; }
.kiss-logo img{
  max-height: 55px;
  width:auto;
  display:block;
}

/* MENU (desktop base) */
.kiss-menu{
  position: static;
  width:auto;
  height:auto;
  padding:0;
  background: transparent;
  box-shadow:none;
  border:0;
  overflow:visible;
}

.kiss-nav,
.kiss-nav ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

.kiss-nav{
  display:flex;
  align-items:center;
  gap:28px;
}

.kiss-nav li{
  position:relative;
}

.kiss-nav a{
  color:#444;
  font-weight:500;
  font-size:15px;
  text-decoration:none;
}

/* ACTIVE MENU underline */
.kiss-nav li.current-menu-item > a,
.kiss-nav li.current-menu-parent > a,
.kiss-nav li.current-menu-ancestor > a,
.kiss-nav li.current_page_item > a,
.kiss-nav li.current-product-archive > a{
  color: var(--kiss-pink) !important;
  font-weight: 600 !important;
  position: relative !important;
}
.kiss-nav li.current-menu-item > a::after,
.kiss-nav li.current-menu-parent > a::after,
.kiss-nav li.current-menu-ancestor > a::after,
.kiss-nav li.current_page_item > a::after,
.kiss-nav li.current-product-archive > a::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  bottom:-8px !important;
  width:100% !important;
  height:2px !important;
  background: var(--kiss-pink) !important;
  border-radius:2px !important;
}

/* Desktop submenu hover */
@media (min-width:981px){
  .kiss-nav li ul.sub-menu{
    position:absolute;
    top: calc(100% + 12px);
    left:0;
    min-width:220px;
    padding:10px 0 !important;

    background:#fff;
    border:1px solid var(--kiss-border);
    border-radius:14px;
    box-shadow:0 16px 34px rgba(0,0,0,0.10);

    display:none !important;
    z-index:999999;
    overflow:hidden;
  }
  .kiss-nav li:hover > ul.sub-menu{ display:block !important; }

  .kiss-nav li ul.sub-menu li{ width:100%; }

  .kiss-nav li ul.sub-menu a{
    display:flex;
    width:100%;
    box-sizing:border-box;
    padding:12px 16px;
    margin:0 !important;
    font-size:14px;
    color:#444;
    white-space:nowrap;
  }
  .kiss-nav li ul.sub-menu a:hover{
    background: rgba(252,228,236,0.75);
  }
}

/* Remove bullets/pseudo markers in menu */
.kiss-nav li::marker{ content:"" !important; }
.kiss-nav li::before, .kiss-nav li::after,
.kiss-nav a::before, .kiss-nav a::after{
  content:none !important;
  background:none !important;
}

/* ICONS */
.kiss-icons{
  position: relative;
  display:flex;
  align-items:center;
  gap:14px;
  flex: 0 0 auto;
}
.kiss-icons a{
  font-size:18px;
}

/* Icon button (search) */
.kiss-icon-btn{
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid var(--kiss-border);
  background: rgba(255,255,255,0.85);

  display:inline-flex;
  align-items:center;
  justify-content:center;

  cursor:pointer;
  font-size:16px;
  padding:0;
  line-height:1;
}
.kiss-icon-btn:hover{ background: var(--kiss-border); }

/* CART COUNT */
.kiss-cart{ position:relative; }
.kiss-cart-count{
  position:absolute;
  top:-6px;
  right:-8px;

  background: var(--kiss-pink);
  color:#fff;

  font-size:11px;
  font-weight:700;

  width:18px;
  height:18px;
  border-radius:50%;

  display:flex;
  align-items:center;
  justify-content:center;
}

/* SEARCH PANEL */
.kiss-search-panel{
  position:absolute;
  right:0;
  top: calc(100% + 12px);

  width:420px;
  max-width: min(92vw, 420px);

  background:#fff;
  border:1px solid var(--kiss-border);
  border-radius:16px;
  padding:12px;
  box-shadow:0 12px 28px rgba(0,0,0,0.10);

  display:none;
  z-index:9999;
}
.kiss-search-panel.is-open{ display:block; }

.kiss-search-form{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
}
.kiss-search-input{
  flex:1;
  height:40px;
  border:1px solid var(--kiss-border);
  border-radius:999px;
  padding:0 14px;
  outline:none;
  font-size:14px;
}
.kiss-search-submit{
  height:40px;
  border:0;
  border-radius:999px;
  padding:0 16px;
  background: var(--kiss-pink);
  color:#fff;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.kiss-search-submit:hover{ background: var(--kiss-pink-dark); }

/* =========================
   MOBILE MENU – HARD FIX
   (ez a legfontosabb rész)
========================= */
@media (max-width:980px){

  .kiss-menu-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px !important;
    height:42px !important;
    border-radius:999px !important;
    border:1px solid var(--kiss-border) !important;
    background: rgba(255,255,255,0.95) !important;
    cursor:pointer !important;
    font-size:22px !important;
    line-height:1 !important;
    padding:0 !important;
    z-index:1000003 !important;
  }

  .kiss-menu{
    position:fixed !important;
    top:0 !important;
    left:-110% !important;

    width: min(86vw, 360px) !important;
    height:100vh !important;

    background:#fff !important;
    border-right:1px solid var(--kiss-border) !important;
    box-shadow:0 16px 40px rgba(0,0,0,.16) !important;

    padding:22px 18px !important;
    overflow-y:auto !important;

    transition:left .25s ease !important;
    z-index:1000002 !important;
  }

  body.kiss-menu-open .kiss-menu{ left:0 !important; }

  .kiss-menu-overlay{
    position:fixed !important;
    inset:0 !important;
    background: rgba(0,0,0,.35) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition: opacity .2s ease !important;
    z-index:1000001 !important;
  }
  body.kiss-menu-open .kiss-menu-overlay{
    opacity:1 !important;
    pointer-events:auto !important;
  }

  html, body{ overflow-x:hidden !important; }

  .kiss-nav{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:6px !important;
  }

  .kiss-nav > li > a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:12px 12px !important;
    border-radius:12px !important;
  }

  .kiss-nav > li > a:hover{
    background: rgba(252,228,236,.55) !important;
  }

  .kiss-nav li ul.sub-menu{
    position:static !important;
    display:none !important;
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    padding:6px 0 0 14px !important;
    margin:0 !important;
  }
  .kiss-nav li.open > ul.sub-menu{ display:block !important; }

  .kiss-sub-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:40px !important;
    height:40px !important;
    border-radius:999px !important;
    margin-left:auto !important;
    background: rgba(252,228,236,.85) !important;
    border:1px solid var(--kiss-border) !important;
  }
}

@media (min-width:981px){
  .kiss-menu-toggle{ display:none !important; }
}

/* =========================
   SECTIONS – NEW + POP (Carousel)
========================= */
.kiss-new,
.kiss-pop{
  padding: 70px 0;
  text-align:center;
}

.kiss-new{
  background: linear-gradient(rgba(252,228,236,0.92), rgba(252,228,236,0.92));
}

.kiss-pop{
  background: linear-gradient(rgba(252,228,236,0.55), rgba(252,228,236,0.55));
}

.kiss-new-container{
  max-width:1200px;
  margin:auto;
  padding:0 24px;
}

.kiss-new h2,
.kiss-pop h2{
  font-family:"Playfair Display",serif;
  font-size:36px;
  color:#555;
  margin:0 0 6px;
}
.kiss-new-sub{
  font-style:italic;
  color:#888;
  margin:0 0 28px;
}

/* carousel wrapper */
.kiss-carousel{
  position:relative;
  max-width:1100px;
  margin:0 auto;
  padding:0 26px; /* hely a nyilaknak */
}

/* track */
.kiss-track{ width:100%; }

.kiss-track ul.products{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:16px;

  overflow-x:auto;
  overflow-y:hidden;

  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;

  padding: 10px 6px 18px;
  margin:0 !important;

  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.kiss-track ul.products::-webkit-scrollbar{ display:none; }

/* cards */
.kiss-track li.product{
  scroll-snap-align:start;
  background:#fff;
  border-radius:16px;

  width:170px;
  min-width:170px;

  padding:10px;
  box-shadow:0 6px 18px rgba(0,0,0,0.06);

  transition: transform .2s ease;
}
.kiss-track li.product:hover{ transform: translateY(-4px); }

.kiss-track li.product img{
  width:100% !important;
  height:210px !important;
  object-fit:cover;
  border-radius:12px;
}

.kiss-track li.product .woocommerce-loop-product__title{
  font-size:13px !important;
  font-weight:500;
  color:#444;
  margin:10px 0 6px !important;
}
.kiss-track li.product .price{
  font-size:13px !important;
  color:#c96c8a;
}

/* hide add to cart in these blocks *//*
.kiss-track li.product a.button{ display:none !important; }
.kiss-pop .kiss-track li.product a.button{ display:none !important; }*/
.kiss-track li.product a.button {
    
    background: #f28cb2;
    color: white;
    border-radius: 15px;}

/* arrows */
.kiss-arrow{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  z-index:10;

  width:40px;
  height:40px;
  border:0;
  border-radius:999px;

  background: rgba(255, 182, 203, 0.92);
  color:#fff;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:22px;
  line-height:1;

  cursor:pointer;
  box-shadow:0 10px 24px rgba(0,0,0,0.10);
  transition: transform .15s ease, background .15s ease;
}
.kiss-arrow:hover{
  background:#e48aad;
  transform: translateY(-50%) scale(1.05);
}
.kiss-prev{ left:0; }
.kiss-next{ right:0; }

@media (max-width:768px){
  .kiss-track li.product{ width:150px; min-width:150px; }
  .kiss-track li.product img{ height:190px !important; }
  .kiss-arrow{ width:34px; height:34px; font-size:20px; }
}

/* =========================
   BACK TO TOP
========================= */
#backToTop{
  position: fixed;
  bottom: 22px;
  right: -70px;

  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: none;

  background: #e889a8;
  color: #fff;

  font-size: 24px;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  box-shadow: 0 10px 24px rgba(0,0,0,0.18);
  transition: right .3s ease, transform .2s ease;
  z-index: 9999;
}
#backToTop.show{ right: 22px; }
#backToTop:hover{ transform: translateY(-3px); }

/* =========================
   FOOTER
========================= */
.kiss-footer{
  background:#f4d8e2;
  padding:50px 18px 26px;
  border-top:0;
}
.kiss-footer-inner{
  max-width:1300px;
  margin:0 auto;
}
.kiss-footer-widgets{
  display:flex;
  flex-wrap:wrap;
  gap:40px;
  padding-bottom:28px;
  border-bottom:1px solid rgba(255,255,255,0.14);
  margin-bottom:20px;
  color:#444;
}
.kiss-footer-col{
  flex:1;
  min-width:220px;
  color:#444;
}
.kiss-footer-widget{ margin:0 0 18px; }
.kiss-footer-title{
  font-size:20px;
  font-weight:700;
  margin:0 0 14px;
  color:#444;
}
.kiss-footer ul{ list-style:none; margin:0; padding:0; }
.kiss-footer li{ margin:10px 0; }
.kiss-footer a{
  color: #444;
  text-decoration:none;
}
.kiss-footer a:hover{
  color:#f28cb2;
  text-decoration:underline;
}

.kiss-footer-nav{ margin:0 0 10px; }
.kiss-footer-menu{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:18px;
}

.kiss-footer-copy{
  text-align:center;
  font-size:14px;
  color: rgba(255,255,255,0.75);
}
.kiss-footer-payments{
  margin-top:14px;
  display:flex;
  justify-content:center;
}
.kiss-footer-payments img{
  max-width:380px;
  width:100%;
  height:auto;
  display:block;
  opacity:0.95;
}

/* Footer responsive */
@media (max-width:900px){
  .kiss-footer-col{ flex:0 0 calc(50% - 20px); }
}
@media (max-width:520px){
  .kiss-footer-col{ flex:0 0 100%; }
}

/* =========================
   SINGLE PRODUCT (KISS layout)
========================= */
.kiss-single{ position:relative; padding:26px 0 60px; }
.kiss-single-bg{
  position:absolute; inset:0;
  background: url("./banner.jpg") center/cover no-repeat;
  opacity:.25;
  pointer-events:none;
}
.kiss-single-wrap{
  position:relative;
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
  display:grid;
  grid-template-columns:520px 1fr;
  gap:36px;
  align-items:start;
}
.kiss-single-left{
  background: rgba(255,255,255,0.65);
  border:1px solid var(--kiss-border);
  border-radius:22px;
  padding:18px;
  box-shadow:0 16px 40px rgba(0,0,0,0.08);
  backdrop-filter: blur(8px);
}
.kiss-single-gallery .woocommerce-product-gallery{
  width:100% !important;
  float:none !important;
}
.kiss-single-gallery .woocommerce-product-gallery__wrapper{
  border-radius:16px;
  overflow:hidden;
}
.kiss-single-gallery .flex-control-nav{
  display:flex !important;
  gap:10px;
  margin:12px 0 0 !important;
}
.kiss-single-gallery .flex-control-nav li{
  width:70px !important;
  height:70px !important;
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--kiss-border);
}
.kiss-single-gallery .flex-control-nav img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.kiss-single-card{
  margin-top:16px;
  background: rgba(255,255,255,0.75);
  border:1px solid var(--kiss-border);
  border-radius:18px;
  padding:18px;
}
.kiss-single-title{
  font-family:"Playfair Display",serif;
  font-size:40px;
  margin:0 0 10px;
  color:#444;
}
.kiss-single-price .price{
  font-size:20px !important;
  font-weight:700;
  color:#444;
}

.kiss-single-card table.variations select{
  width:100%;
  border-radius:999px;
  border:1px solid var(--kiss-border);
  padding:10px 12px;
}
.kiss-single-card button.single_add_to_cart_button{
  background: var(--kiss-pink) !important;
  border-radius:999px !important;
  padding:12px 22px !important;
}

.kiss-single-actions{
  margin-top:14px;
  display:flex;
  gap:10px;
}
.kiss-single-actions a,
.kiss-single-actions button{
  width:44px; height:44px;
  border-radius:999px;
  border:1px solid var(--kiss-border);
  background: rgba(255,255,255,0.9);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  color: var(--kiss-pink-dark);
}

.kiss-single-bottom{ position:relative; margin-top:40px; }
.kiss-single-bottom-inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
}
.kiss-sec-title{
  font-family:"Playfair Display",serif;
  font-size:32px;
  margin:22px 0 10px;
  color:#444;
}
.kiss-desc{
  background: rgba(255,255,255,0.65);
  border:1px solid var(--kiss-border);
  border-radius:22px;
  padding:18px;
}
.kiss-benefits{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:14px;
  margin-top:14px;
}
.kiss-benefit{
  background: rgba(255,255,255,0.65);
  border:1px solid var(--kiss-border);
  border-radius:18px;
  padding:14px;
  text-align:center;
  display:grid;
  gap:6px;
}
.kiss-benefit span{ color:#777; font-size:13px; }

@media (max-width:980px){
  .kiss-single-wrap{ grid-template-columns:1fr; }
  .kiss-benefits{ grid-template-columns:repeat(2, 1fr); }
}

/* Woo zoom cursor */
.woocommerce-product-gallery__image a{
  cursor: zoom-in;
  display:block;
}

/* Sale badge */
.woocommerce span.onsale{
  min-height:3.236em;
  min-width:3.236em;
  padding:.202em;
  font-weight:700;
  position:absolute;
  text-align:center;
  line-height:3.236;
  top:-.5em;
  left:-.5em;
  margin:0;
  border-radius:100%;
  background-color:#d42063;
  color:#fff;
  font-size:.857em;
  z-index:9;
}

/* =========================
   SHOP / CATEGORY ARCHIVE
========================= */
.kiss-archive{
  background: linear-gradient(rgba(252,228,236,0.55), rgba(252,228,236,0.55));
  padding: 28px 0 60px;
}

.kiss-archive-head-inner{
  max-width:1300px;
  margin:0 auto;
  padding:0 20px 18px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}

.kiss-archive-title{
  font-family:"Playfair Display",serif;
  font-size:42px;
  margin:0;
  color:#444;
}

.kiss-archive-controls select{
  border:1px solid var(--kiss-border);
  border-radius:999px;
  padding:10px 14px;
  background: rgba(255,255,255,0.85);
}

/* Layout: sidebar + grid */
.kiss-archive-wrap{
  max-width:1300px;
  margin:0 auto;
  padding:0 20px;
  display:grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap:28px;
  align-items:start;
}

.kiss-archive-sidebar{
  background: rgba(255,255,255,0.40);
  border:1px solid var(--kiss-border);
  border-radius:22px;
  padding:14px;
}

.kiss-filter-widget{
  background:#fff;
  border:1px solid #f5d2dc;
  border-radius:16px;
  padding:16px;
  margin-bottom:16px;
  box-shadow:0 6px 18px rgba(0,0,0,0.05);
}

.kiss-filter-title{
  font-family:"Playfair Display",serif;
  font-size:18px;
  margin:0 0 10px;
  color:#444;
}

/* Sidebar lists modern */
.kiss-archive-sidebar ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.kiss-archive-sidebar li{
  background: transparent;
  padding:0;
}
.kiss-archive-sidebar li a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:10px;
  color:#555;
  font-size:14px;
  transition:all .2s ease;
}
.kiss-archive-sidebar li a::before{
  content:"";
  width:16px;
  height:16px;
  border:2px solid var(--kiss-pink);
  border-radius:4px;
  display:inline-block;
  transition:all .2s ease;
}
.kiss-archive-sidebar li a:hover{ background:#fff; }

/* active filter pill */
.kiss-archive-sidebar li.chosen a::before,
.kiss-archive-sidebar li.current a::before{
  background: var(--kiss-pink);
  box-shadow: inset 0 0 0 3px #fff;
}
.kiss-archive-sidebar li.chosen a{
  font-weight:600;
  color: var(--kiss-pink);
}

/* hide filter counts */
.kiss-archive-sidebar .count,
.kiss-archive-sidebar .woocommerce-widget-layered-nav-list__item .count,
.kiss-archive-sidebar .wc-layered-nav-term .count{
  display:none !important;
}

/* Woo chosen icon: X -> ✔ */
.woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item--chosen a::before,
.woocommerce-widget-layered-nav-list .chosen a::before{
  content:"✔" !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  margin-right:10px !important;
  background: var(--kiss-pink);
  color:#fff;
  border-radius:6px;
  font-size:12px;
  line-height:1;
}

/* Hide remove if any */
.kiss-archive-sidebar .remove,
.kiss-archive-sidebar a.remove,
.kiss-archive-sidebar .woocommerce-widget-layered-nav-list__item--chosen a .remove{
  display:none !important;
}

/* PRODUCT GRID – HARD FIX */
.kiss-archive-main ul.products{
  display:grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap:26px !important;
  row-gap:26px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  align-items:start !important;
  width:100%;
}

/* disable Woo floats */
.kiss-archive-main ul.products > li.product{
  float:none !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 !important;
  clear:none !important;
}
.kiss-archive-main ul.products::before,
.kiss-archive-main ul.products::after{
  content:none !important;
  display:none !important;
}

/* Luxury product card */
.kiss-archive-main ul.products li.product{
  position:relative !important;
  overflow:hidden !important;
  border-radius:18px !important;
  background: rgba(255,255,255,0.92) !important;
  border:1px solid rgba(252,228,236,0.85) !important;
  padding:12px !important;
  box-shadow:0 14px 34px rgba(0,0,0,0.06) !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
}
.kiss-archive-main ul.products li.product:hover{
  transform: translateY(-4px) !important;
  box-shadow:0 18px 44px rgba(0,0,0,0.10) !important;
}

.kiss-archive-main ul.products li.product a.woocommerce-LoopProduct-link{
  position:relative !important;
  display:block !important;
  text-decoration:none !important;
  border-radius:14px !important;
  overflow:hidden !important;
}

/* Image */
.kiss-archive-main ul.products li.product img{
  width:100% !important;
  height:290px !important;
  object-fit:cover !important;
  border-radius:14px !important;
  display:block !important;
  transition: transform .35s ease !important;
}
.kiss-archive-main ul.products li.product:hover img{
  transform: scale(1.04) !important;
}

/* Hover 2nd image (optional) */
.kiss-archive-main ul.products li.product a.woocommerce-LoopProduct-link img.kiss-hover-img{
  position:absolute !important;
  inset:0 !important;
  opacity:0 !important;
  transform: scale(1.02) !important;
  transition: opacity .28s ease, transform .35s ease !important;
  pointer-events:none !important;
}
@media (hover:hover){
  .kiss-archive-main ul.products li.product:hover a.woocommerce-LoopProduct-link img.kiss-hover-img{
    opacity:1 !important;
    transform: scale(1.04) !important;
  }
}

/* Title + price */
.kiss-archive-main ul.products li.product .woocommerce-loop-product__title{
  margin:12px 0 6px !important;
  font-size:14px !important;
  font-weight:600 !important;
  color:#2f2f2f !important;
  line-height:1.35 !important;
}
.kiss-archive-main ul.products li.product .price{
  margin:0 0 10px !important;
  font-size:14px !important;
  font-weight:700 !important;
  color:#c96c8a !important;
}
.kiss-archive-main ul.products li.product .price del{
  opacity:.45 !important;
  margin-right:6px !important;
}
.kiss-archive-main ul.products li.product .price ins{
  text-decoration:none !important;
  color: var(--kiss-pink-dark) !important;
}

/* CTA button: hover reveal on desktop */
.kiss-archive-main ul.products li.product a.button{
  position:absolute !important;
  left:12px !important;
  right:12px !important;
  bottom:12px !important;

  border-radius:999px !important;
  background: var(--kiss-pink) !important;
  color:#fff !important;
  padding:12px 14px !important;
  text-align:center !important;
  font-weight:700 !important;

  opacity:0 !important;
  transform: translateY(10px) !important;
  transition: opacity .20s ease, transform .20s ease, background .20s ease !important;
  z-index:5 !important;
}
.kiss-archive-main ul.products li.product:hover a.button{
  opacity:1 !important;
  transform: translateY(0) !important;
}

/* Modern wishlist bubble (supports YITH/TI) */
.kiss-archive-main ul.products li.product .yith-wcwl-add-to-wishlist,
.kiss-archive-main ul.products li.product .tinvwl_add_to_wishlist_button,
.kiss-archive-main ul.products li.product a.add_to_wishlist{
  position:absolute !important;
  top:12px !important;
  right:12px !important;
  z-index:8 !important;
}

.kiss-archive-main ul.products li.product .yith-wcwl-add-to-wishlist a,
.kiss-archive-main ul.products li.product a.tinvwl_add_to_wishlist_button,
.kiss-archive-main ul.products li.product a.add_to_wishlist{
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  background: rgba(255,255,255,0.92) !important;
  border:1px solid rgba(252,228,236,0.95) !important;
  box-shadow:0 12px 26px rgba(0,0,0,0.10) !important;

  text-decoration:none !important;
  font-size:0 !important;
  line-height:1 !important;

  transition: transform .18s ease, background .18s ease, border-color .18s ease !important;
}
.kiss-archive-main ul.products li.product .yith-wcwl-add-to-wishlist a::before,
.kiss-archive-main ul.products li.product a.tinvwl_add_to_wishlist_button::before,
.kiss-archive-main ul.products li.product a.add_to_wishlist::before{
  content:"♡";
  font-size:18px;
  color: var(--kiss-pink-dark);
  transform: translateY(-.5px);
}
@media (hover:hover){
  .kiss-archive-main ul.products li.product .yith-wcwl-add-to-wishlist a:hover,
  .kiss-archive-main ul.products li.product a.tinvwl_add_to_wishlist_button:hover,
  .kiss-archive-main ul.products li.product a.add_to_wishlist:hover{
    transform: scale(1.05);
    background: rgba(252,228,236,0.75);
    border-color: rgba(242,140,178,0.55);
  }
}
.kiss-archive-main ul.products li.product .yith-wcwl-wishlistexistsbrowse a::before,
.kiss-archive-main ul.products li.product .yith-wcwl-wishlistaddedbrowse a::before,
.kiss-archive-main ul.products li.product a.tinvwl-product-in-list::before{
  content:"♥";
  color: var(--kiss-pink-dark);
}
.kiss-archive-main ul.products li.product .yith-wcwl-add-to-wishlist span,
.kiss-archive-main ul.products li.product .yith-wcwl-add-to-wishlist .feedback,
.kiss-archive-main ul.products li.product .tinvwl_add_to_wishlist-text{
  display:none !important;
}

/* Sale badge modern on cards */
.kiss-archive-main ul.products li.product .onsale{
  position:absolute !important;
  top:12px !important;
  left:12px !important;
  width:54px !important;
  height:54px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  background: var(--kiss-pink-dark) !important;
  color:#fff !important;
  font-weight:800 !important;
  font-size:13px !important;
  letter-spacing:.2px !important;
  border:2px solid rgba(255,255,255,0.75) !important;
  box-shadow:0 12px 26px rgba(0,0,0,0.18) !important;
  z-index:7 !important;
}

/* responsive grid */
@media (max-width:1100px){
  .kiss-archive-main ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width:980px){
  /* mobile: button always visible, no hover requirement */
  .kiss-archive-wrap{ grid-template-columns:1fr; }
  .kiss-archive-main ul.products li.product img{ height:230px !important; }
  .kiss-archive-main ul.products li.product a.button{
    opacity:1 !important;
    transform:none !important;
    position:static !important;
    margin-top:10px !important;
  }
  /* disable hover image on mobile */
  .kiss-archive-main ul.products li.product a.woocommerce-LoopProduct-link img.kiss-hover-img{
    display:none !important;
  }
}
@media (max-width:560px){
  .kiss-archive-main ul.products{ grid-template-columns:1fr !important; }
  .kiss-archive-main ul.products li.product img{ height:260px !important; }
}

/* =========================
   MY ACCOUNT (Woo)
========================= */
.woocommerce-account .woocommerce{
  max-width:1200px;
  margin:40px auto 80px;
  padding:0 20px;
  display:flex !important;
  gap:30px;
  align-items:flex-start;
}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
  float:none !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation{
  flex:0 0 300px;
  background:#fff;
  border-radius:18px;
  padding:18px;
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none;
  margin:0;
  padding:0;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li{ margin-bottom:8px; }
body.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:block;
  padding:12px 14px;
  border-radius:12px;
  background:#f9f2f5;
  color:#444;
  font-weight:600;
  text-decoration:none;
  transition:.2s;
  position:relative;
  overflow:hidden;
}
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover{ background: var(--kiss-border); }
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{
  background: var(--kiss-pink);
  color:#fff;
}
.woocommerce-MyAccount-navigation a:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  height:2px;
  width:0;
  background: var(--kiss-pink);
  transition:.3s;
}
.woocommerce-MyAccount-navigation a:hover:after{ width:100%; }

body.woocommerce-account .woocommerce-MyAccount-content{
  flex:1;
  background:#fff;
  border-radius:18px;
  padding:25px;
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
  min-width:0;
}

body.woocommerce-account table.shop_table{
  border:none !important;
  width:100%;
}
body.woocommerce-account table.shop_table th{
  background: var(--kiss-border);
  padding:14px;
  font-weight:700;
}
body.woocommerce-account table.shop_table td{
  padding:14px;
  border-bottom:1px solid #f4d6df;
}
body.woocommerce-account .woocommerce-button.button{
  background: var(--kiss-pink) !important;
  border-radius:999px !important;
  padding:8px 16px !important;
  color:#fff !important;
  border:none !important;
}
body.woocommerce-account .woocommerce-button.button:hover{
  background: var(--kiss-pink-dark) !important;
}

/* Account header block (optional) */
.kiss-account-header{
  background:#fff;
  border-radius:22px;
  padding:25px;
  margin-bottom:25px;
  display:flex;
  align-items:center;
  gap:18px;
  border:1px solid #f3d6df;
  box-shadow:0 20px 40px rgba(0,0,0,0.05);
}
.kiss-account-avatar{
  width:60px;
  height:60px;
  border-radius:50%;
  background:#fde9f0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:26px;
  color: var(--kiss-pink-dark);
}
.kiss-account-header h2{ margin:0; font-size:20px; }
.kiss-account-header p{ margin:2px 0 0; color:#777; font-size:14px; }

@media (max-width:980px){
  body.woocommerce-account .woocommerce{ flex-direction:column; }
  body.woocommerce-account .woocommerce-MyAccount-navigation,
  body.woocommerce-account .woocommerce-MyAccount-content{ width:100%; }
}
@media (max-width:900px){
  .kiss-account-header{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* Dashicons in account menu */
.woocommerce-MyAccount-navigation-link a::before{
  font-family:dashicons;
  font-size:18px;
  width:20px;
  margin-right:10px;
  display:inline-block;
}
.woocommerce-MyAccount-navigation-link--dashboard a::before{ content:"\f226"; }
.woocommerce-MyAccount-navigation-link--orders a::before{ content:"\f174"; }
.woocommerce-MyAccount-navigation-link--downloads a::before{ content:"\f316"; }
.woocommerce-MyAccount-navigation-link--edit-address a::before{ content:"\f230"; }
.woocommerce-MyAccount-navigation-link--edit-account a::before{ content:"\f110"; }
.woocommerce-MyAccount-navigation-link--wishlist a::before{ content:"\f487"; }
.woocommerce-MyAccount-navigation-link--customer-logout a::before{ content:"\f120"; }

/* =========================
   TI WISHLIST – MODERN CARDS
========================= */
.tinv-wishlist,
.woocommerce .tinv-wishlist,
body .tinv-wishlist{
  max-width:1300px;
  margin:0 auto;
  padding:26px 20px 60px;
}
.tinv-wishlist h2,
.tinv-wishlist h1{
  font-family:"Playfair Display",serif;
  font-size:40px;
  color:#444;
  margin:0 0 18px;
}
.tinv-wishlist .tinvwl-table-manage-list,
.tinv-wishlist table.tinvwl-table-manage-list{
  width:100%;
  background: rgba(255,255,255,0.65);
  border:1px solid var(--kiss-border);
  border-radius:22px;
  padding:16px;
  box-shadow:0 16px 40px rgba(0,0,0,0.06);
  backdrop-filter: blur(8px);
}

/* table reset -> card rows */
table.tinvwl-table-manage-list{
  border:0 !important;
  border-collapse:separate !important;
  border-spacing:0 14px !important;
  background: transparent !important;
}
table.tinvwl-table-manage-list thead{ display:none !important; }

table.tinvwl-table-manage-list tbody tr{
  background: rgba(255,255,255,0.92) !important;
  border:1px solid rgba(252,228,236,0.92) !important;
  border-radius:18px !important;
  overflow:hidden;
  box-shadow:0 12px 28px rgba(0,0,0,0.05);
  transition: transform .18s ease, box-shadow .18s ease;
}
table.tinvwl-table-manage-list tbody tr:hover{
  transform: translateY(-2px);
  box-shadow:0 18px 40px rgba(0,0,0,0.08);
}
table.tinvwl-table-manage-list td{
  border:0 !important;
  background: transparent !important;
  padding:14px 14px !important;
  vertical-align: middle !important;
}

/* thumbnail */
table.tinvwl-table-manage-list td.product-thumbnail{
  width:92px !important;
  padding-left:16px !important;
}
table.tinvwl-table-manage-list td.product-thumbnail img{
  width:78px !important;
  height:92px !important;
  object-fit:cover;
  border-radius:14px;
  border:1px solid rgba(252,228,236,0.9);
  box-shadow:0 10px 20px rgba(0,0,0,0.06);
}

/* name */
table.tinvwl-table-manage-list td.product-name a{
  font-weight:800;
  color:#444 !important;
  font-size:15px;
  line-height:1.35;
  text-decoration:none !important;
}
table.tinvwl-table-manage-list td.product-name a:hover{ color: var(--kiss-pink-dark) !important; }

/* price */
table.tinvwl-table-manage-list td.product-price,
table.tinvwl-table-manage-list td.product-price *{
  font-weight:800 !important;
  color:#c96c8a !important;
}
table.tinvwl-table-manage-list td.product-price del{ opacity:.45; margin-right:6px; }
table.tinvwl-table-manage-list td.product-price ins{ text-decoration:none !important; color: var(--kiss-pink-dark) !important; }

/* stock */
table.tinvwl-table-manage-list td.product-stock,
table.tinvwl-table-manage-list td.product-stock p{
  margin:0 !important;
  font-weight:700;
  color:#444;
}

/* remove */
table.tinvwl-table-manage-list td.product-remove{
  width:54px !important;
  text-align:center !important;
}
table.tinvwl-table-manage-list td.product-remove button,
table.tinvwl-table-manage-list td.product-remove a{
  width:38px !important;
  height:38px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background: rgba(252,228,236,0.55) !important;
  border:1px solid var(--kiss-border) !important;
  color: var(--kiss-pink-dark) !important;
  text-decoration:none !important;
  transition: transform .15s ease, background .15s ease;
}
table.tinvwl-table-manage-list td.product-remove button:hover,
table.tinvwl-table-manage-list td.product-remove a:hover{
  transform: scale(1.06);
  background: rgba(242,140,178,0.22) !important;
}

/* add to cart */
table.tinvwl-table-manage-list td.product-action,
table.tinvwl-table-manage-list td.product-add-to-cart{
  width:240px;
  padding-right:16px !important;
}
table.tinvwl-table-manage-list td.product-action a.button,
table.tinvwl-table-manage-list td.product-add-to-cart a.button{
  width:100%;
  border-radius:999px !important;
  background: var(--kiss-pink) !important;
  color:#fff !important;
  font-weight:900 !important;
  padding:12px 16px !important;
  border:0 !important;
  box-shadow:0 10px 20px rgba(242,140,178,0.22);
}
table.tinvwl-table-manage-list td.product-action a.button:hover,
table.tinvwl-table-manage-list td.product-add-to-cart a.button:hover{
  background: var(--kiss-pink-dark) !important;
}

/* share icons */
.tinv-wishlist .tinvwl-share{
  display:flex;
  justify-content:flex-end;
  margin-top:14px;
}
.tinv-wishlist .tinvwl-share ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  gap:10px !important;
}
.tinv-wishlist .tinvwl-share a{
  width:38px;
  height:38px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--kiss-border);
  background: rgba(255,255,255,0.85);
}
.tinv-wishlist .tinvwl-share a:hover{
  background: rgba(252,228,236,0.8);
}

/* empty state */
.tinv-wishlist .woocommerce-info{
  background:#fff;
  border:1px solid var(--kiss-border);
  border-radius:20px;
  padding:40px 30px;
  margin:30px 0;
  text-align:center;
  box-shadow:0 20px 50px rgba(0,0,0,0.06);
  font-size:18px;
  color:#444;
  font-weight:500;
}
.tinv-wishlist .woocommerce-info::before{
  content:"⚠️";
  display:block;
  font-size:44px;
  margin-bottom:22px;
}
.tinv-wishlist .woocommerce-info + a.button,
.tinv-wishlist a.button.wc-backward{
  display:inline-block;
  margin-top:20px;
  padding:12px 26px;
  background: var(--kiss-pink);
  color:#fff !important;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 10px 25px rgba(242,140,178,0.25);
  transition:.25s;
}
.tinv-wishlist a.button.wc-backward:hover{
  background: var(--kiss-pink-dark);
  transform: translateY(-2px);
}

/* Wishlist mobile stack */
@media (max-width:860px){
  table.tinvwl-table-manage-list,
  table.tinvwl-table-manage-list tbody,
  table.tinvwl-table-manage-list tr,
  table.tinvwl-table-manage-list td{
    display:block !important;
    width:100% !important;
  }
  table.tinvwl-table-manage-list tbody tr{
    position:relative;
    padding:14px 14px 16px;
  }
  table.tinvwl-table-manage-list td{ padding:10px 0 !important; }

  table.tinvwl-table-manage-list td.product-remove{
    position:absolute !important;
    top:12px;
    right:12px;
    width:auto !important;
    padding:0 !important;
  }

  table.tinvwl-table-manage-list td.product-thumbnail{
    padding:0 !important;
    margin-bottom:8px;
  }
  table.tinvwl-table-manage-list td.product-thumbnail img{
    width:100% !important;
    height:240px !important;
    border-radius:16px;
  }

  table.tinvwl-table-manage-list td.product-action,
  table.tinvwl-table-manage-list td.product-add-to-cart{
    width:100% !important;
    padding:0 !important;
    margin-top:8px;
  }
}

/* =========================
   “SIMA OLDAL” (WordPress Page) – card
========================= */
body.page:not(.woocommerce):not(.woocommerce-page){
  background: var(--kiss-bg);
}
body.page:not(.woocommerce):not(.woocommerce-page) .site-main,
body.page:not(.woocommerce):not(.woocommerce-page) .content-area{
  max-width:1100px;
  margin:0 auto;
  padding:28px 18px 60px;
}
body.page:not(.woocommerce):not(.woocommerce-page) .entry-title{
  font-family:"Playfair Display",serif;
  font-size:44px;
  line-height:1.15;
  color:#333;
  margin:6px 0 18px;
  letter-spacing:.2px;
}
body.page:not(.woocommerce):not(.woocommerce-page) .entry-content{
  background: rgba(255,255,255,0.85);
  border:1px solid var(--kiss-border);
  border-radius:22px;
  padding:22px;
  box-shadow:0 18px 44px rgba(0,0,0,0.06);
  backdrop-filter: blur(8px);
}
body.page:not(.woocommerce):not(.woocommerce-page) .entry-content p{
  margin:0 0 14px;
  color:#444;
  line-height:1.75;
}
body.page:not(.woocommerce):not(.woocommerce-page) .entry-content h2{
  font-family:"Playfair Display",serif;
  font-size:26px;
  margin:22px 0 10px;
  color:#333;
}
body.page:not(.woocommerce):not(.woocommerce-page) .entry-content h3{
  font-size:17px;
  margin:18px 0 8px;
  color:#333;
}
body.page:not(.woocommerce):not(.woocommerce-page) .entry-content hr{
  border:0;
  height:1px;
  background: var(--kiss-border);
  margin:18px 0;
}
body.page:not(.woocommerce):not(.woocommerce-page) .entry-content ul,
body.page:not(.woocommerce):not(.woocommerce-page) .entry-content ol{
  margin:10px 0 16px 18px;
  padding:0;
}
body.page:not(.woocommerce):not(.woocommerce-page) .entry-content li{ margin:8px 0; }
body.page:not(.woocommerce):not(.woocommerce-page) .entry-content ul li::marker{
  color: var(--kiss-pink);
}
body.page:not(.woocommerce):not(.woocommerce-page) .entry-content a{
  color: var(--kiss-pink-dark);
  font-weight:600;
}
body.page:not(.woocommerce):not(.woocommerce-page) .entry-content a:hover{
  text-decoration: underline;
}
body.page:not(.woocommerce):not(.woocommerce-page) .entry-content table{
  width:100%;
  border-collapse:collapse;
  overflow:hidden;
  border-radius:16px;
  border:1px solid var(--kiss-border);
  background: rgba(255,255,255,0.9);
  margin:14px 0 18px;
}
body.page:not(.woocommerce):not(.woocommerce-page) .entry-content th{
  text-align:left;
  background: rgba(252,228,236,0.65);
  padding:12px 14px;
  font-weight:700;
  color:#333;
}
body.page:not(.woocommerce):not(.woocommerce-page) .entry-content td{
  padding:12px 14px;
  border-top:1px solid var(--kiss-border);
}
body.page:not(.woocommerce):not(.woocommerce-page) .entry-content blockquote{
  margin:16px 0;
  padding:14px 16px;
  border-left:4px solid var(--kiss-pink);
  background: rgba(252,228,236,0.45);
  border-radius:14px;
  color:#444;
}
@media (max-width:600px){
  body.page:not(.woocommerce):not(.woocommerce-page) .entry-title{ font-size:34px; }
  body.page:not(.woocommerce):not(.woocommerce-page) .entry-content{
    padding:16px;
    border-radius:18px;
  }
}

/* =========================
   CONTACT PAGE 
========================= */

/* Kapcsolat oldal fő wrapper (ha van .page vagy .entry-content) */
.page .entry-content,
.page-content{
  max-width: 1200px;
  margin: 0 auto;
  padding: 26px 20px 60px;
}

/* Form kártya */
.wpcf7,
.kiss-contact-card,
.page .entry-content form{
  background: rgba(255,255,255,0.70);
  border: 1px solid #fce4ec;
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 12px 28px rgba(0,0,0,0.06);
  backdrop-filter: blur(8px);
}

/* Címek (ha van) */
.page .entry-content h1,
.page .entry-content h2,
.page .entry-content h3{
  font-family: "Playfair Display", serif;
  color: #444;
  margin: 0 0 14px;
}

/* CF7 sorok */
.wpcf7 form p{
  margin: 0 0 14px;
}

/* Label */
.wpcf7 form label{
  display:block;
  font-size: 13px;
  font-weight: 700;
  color: #555;
  margin: 0 0 6px;
}

/* Inputok */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 select,
.wpcf7 textarea{
  width: 100%;
  border: 1px solid #fce4ec;
  border-radius: 999px;
  padding: 11px 14px;
  background: rgba(255,255,255,0.92);
  outline: none;
  font-size: 14px;
  color:#444;
  box-sizing: border-box;
}

.wpcf7 textarea{
  border-radius: 18px;
  min-height: 140px;
  padding: 12px 14px;
}

/* Focus */
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus{
  border-color: rgba(242,140,178,0.65);
  box-shadow: 0 0 0 4px rgba(242,140,178,0.14);
}

/* Submit gomb */
.wpcf7 input[type="submit"],
.wpcf7 button,
.page .entry-content form button[type="submit"]{
  width: 100%;
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  background: #f28cb2;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 10px 20px rgba(242,140,178,0.22);
  transition: transform .12s ease, background .12s ease;
}

.wpcf7 input[type="submit"]:hover,
.wpcf7 button:hover{
  background: #d81b60;
  transform: translateY(-1px);
}

/* CF7 validáció + üzenetek (modern “alert”) */
.wpcf7-not-valid-tip{
  margin-top: 6px;
  font-size: 13px;
  color: #b71c1c;
}

.wpcf7-response-output{
  margin: 14px 0 0 !important;
  padding: 12px 14px !important;
  border-radius: 16px !important;
  border: 1px solid #fce4ec !important;
  background: rgba(255,255,255,0.9);
  color: #444;
  font-size: 14px;
}

/* Siker / hiba színezés */
.wpcf7 form.sent .wpcf7-response-output{
  background: rgba(232, 245, 233, 0.92) !important;
  border-color: rgba(76, 175, 80, 0.25) !important;
  color: #1b5e20 !important;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output{
  background: rgba(255, 235, 238, 0.92) !important;
  border-color: rgba(183, 28, 28, 0.20) !important;
  color: #b71c1c !important;
}

/* Spinnert finomítsuk */
.wpcf7-spinner{
  margin-left: 10px;
  vertical-align: middle;
}

/* Mobil finomítás */
@media (max-width: 520px){
  .wpcf7,
  .page .entry-content form{
    padding: 18px;
  }
}

/* =========================
   CONTACT FORM WIDTH FIX
========================= */

/* form kártya legyen keskenyebb és középen */
.wpcf7,
.page .entry-content form{
  max-width: 560px;
  margin: 0 auto;
}

/* input mezők ne legyenek túl szélesek */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea,
.wpcf7 select{
  max-width: 420px;
}

/* textarea kicsit nagyobb lehet */
.wpcf7 textarea{
  max-width: 520px;
}

/* submit gomb */
.wpcf7 input[type="submit"]{
  max-width: 220px;
  display: block;
  margin: 16px auto 0;
}

/* =========================
   CONTACT PAGE LAYOUT
========================= */

.kiss-contact-layout{
  max-width:1200px;
  margin:40px auto 80px;
  padding:0 20px;

  display:grid;
  grid-template-columns:340px 1fr;
  gap:30px;
  align-items:start;
}

/* bal oldali kártya */

.kiss-contact-info{
  background:#fff;
  border-radius:18px;
  padding:24px;

  border:1px solid #f3d6df;

  box-shadow:0 12px 30px rgba(0,0,0,0.06);
}

.kiss-contact-info h2{
  font-family:"Playfair Display",serif;
  margin-top:0;
  margin-bottom:10px;
}

.kiss-contact-info p{
  color:#666;
  margin-bottom:20px;
}

/* adat sor */

.kiss-contact-item{
  margin-bottom:16px;
}

.kiss-contact-item strong{
  display:block;
  font-size:13px;
  color:#999;
}

.kiss-contact-item span{
  font-size:15px;
  font-weight:600;
  color:#444;
}

/* jobb oldali form */

.kiss-contact-form{
  background:#fff;
  border-radius:18px;
  padding:24px;

  border:1px solid #f3d6df;

  box-shadow:0 12px 30px rgba(0,0,0,0.06);
}

/* form mezők */

.kiss-contact-form input,
.kiss-contact-form textarea{
  width:100%;
  border:1px solid #f3d6df;
  border-radius:999px;
  padding:12px 16px;
  margin-bottom:14px;
}

.kiss-contact-form textarea{
  border-radius:18px;
  min-height:120px;
}

/* submit */

.kiss-contact-form input[type="submit"]{
  background:#f28cb2;
  color:#fff;
  border:none;
  border-radius:999px;
  padding:12px 20px;
  cursor:pointer;
}

.kiss-contact-form input[type="submit"]:hover{
  background:#d81b60;
}

/* =========================
   MOBILE
========================= */

@media(max-width:900px){

.kiss-contact-layout{
  grid-template-columns:1fr;
}

}

/* =========================
   CONTACT – MAP + ANIM INPUT + SUCCESS MSG
========================= */

/* MAP */
.kiss-contact-map{
  margin-top: 18px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #f3d6df;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
  background: #fff;
}

.kiss-contact-map iframe{
  width: 100%;
  height: 220px;
  border: 0;
  display:block;
}

/* ===== Contact Form 7 modern mezők ===== */
.kiss-contact-form .wpcf7{
  margin: 0;
}

/* field wrapper */
.kiss-cf7-field{
  position: relative;
  margin-bottom: 14px;
  max-width: 520px;           /* <-- ne legyen túl széles */
}

/* input/textarea */
.kiss-cf7-field input,
.kiss-cf7-field textarea{
  width: 100%;
  border: 1px solid #f3d6df;
  background: rgba(255,255,255,0.9);
  padding: 14px 16px;
  font-size: 14px;
  outline: none;

  border-radius: 999px;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.kiss-cf7-field textarea{
  border-radius: 18px;
  min-height: 140px;
  resize: vertical;
}

/* focus */
.kiss-cf7-field input:focus,
.kiss-cf7-field textarea:focus{
  border-color: rgba(242,140,178,0.75);
  box-shadow: 0 0 0 4px rgba(242,140,178,0.14);
  transform: translateY(-1px);
}

/* floating label */
.kiss-cf7-label{
  position:absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 13px;
  color: #999;
  pointer-events:none;
  background: transparent;
  padding: 0 6px;
  transition: all .15s ease;
}

.kiss-cf7-field.is-textarea .kiss-cf7-label{
  top: 18px;
  transform: none;
}

/* float state */
.kiss-cf7-field.is-filled .kiss-cf7-label,
.kiss-cf7-field.is-focused .kiss-cf7-label{
  top: -8px;
  transform: none;
  font-size: 12px;
  color: #d81b60;
  background: #fff;
  border-radius: 999px;
  box-shadow: 0 6px 14px rgba(0,0,0,0.06);
}

/* Submit */
.kiss-contact-form input[type="submit"]{
  max-width: 280px;
  width: 100%;
  background: #f28cb2;
  color:#fff;
  border:0;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 700;
  cursor:pointer;
  box-shadow: 0 12px 22px rgba(242,140,178,0.22);
  transition: transform .15s ease, background .15s ease;
}
.kiss-contact-form input[type="submit"]:hover{
  background:#d81b60;
  transform: translateY(-1px);
}

/* ===== CF7 messages modern ===== */
.kiss-contact-form .wpcf7-response-output{
  margin: 16px 0 0 !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  border: 1px solid #f3d6df !important;
  background: rgba(255,255,255,0.95) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,0.08);
  font-weight: 600;
  position: relative;
}

/* success */
.kiss-contact-form .wpcf7-mail-sent-ok,
.kiss-contact-form .wpcf7-response-output.wpcf7-mail-sent-ok{
  border-color: rgba(27,94,32,0.25) !important;
  background: rgba(232,245,233,0.95) !important;
  color: #1b5e20 !important;
}

/* error */
.kiss-contact-form .wpcf7-validation-errors,
.kiss-contact-form .wpcf7-response-output.wpcf7-validation-errors{
  border-color: rgba(183,28,28,0.20) !important;
  background: rgba(255,235,238,0.95) !important;
  color: #b71c1c !important;
}

/* spinner ne rondítson */
.kiss-contact-form .wpcf7-spinner{
  margin-left: 10px;
}

/* Mobilon full széles mezők */
@media (max-width:900px){
  .kiss-cf7-field{ max-width: 100%; }
  .kiss-contact-map iframe{ height: 200px; }
}

/*Gone*/

  

  .benefits-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px;
            margin-bottom: 50px;
            text-align: center;
        }

        .benefit-item {
            padding: 20px;
            background: #fff;
            border-radius: 20px;
            box-shadow: 0 10px 20px rgba(0,0,0,0.03);
            border: 1px solid var(--pink-soft);
            transition: transform 0.3s ease;
        }

        .benefit-item:hover {
            transform: translateY(-5px);
        }

        .benefit-icon {
            font-size: 32px;
            margin-bottom: 15px;
            display: block;
        }

        .benefit-item h3 {
            font-size: 1rem;
            color: var(--pink-dark);
            margin: 10px 0;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .benefit-item p {
            font-size: 0.85rem;
            color: var(--text-gray);
            margin: 0;
        }

@media (max-width:720px) {
  .benefits-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
    margin-bottom: 50px;
    text-align: center;
}
  
}


.testimonial-wrapper { max-width: 1000px; margin: 50px auto; padding: 0 20px; position: relative; }
    .testimonial-card { display: flex; background: #fff; border-radius: 30px; overflow: hidden; box-shadow: var(--shadow); height: 380px; border: 1px solid var(--pink-soft); }
    .image-side { flex: 0 0 30%; }
    .image-side img { width: 100%; height: 100%; object-fit: cover; }
    .content-side { flex: 0 0 70%; padding: 50px; background-color: #fffafb; position: relative; display: flex; flex-direction: column; justify-content: center; }
    .quote-icon { position: absolute; top: 30px; left: 40px; font-size: 80px; color: rgba(255, 182, 193, 0.3); font-family: serif; }
    .review-text { font-size: 1.15rem; color: var(--text-gray); font-style: italic; z-index: 1; margin-bottom: 20px; }
    .author-info h4 { color: var(--pink-dark); margin: 0; text-transform: uppercase; font-size: 1rem; }

    /* Swiper nyilak */
    .swiper-button-next, .swiper-button-prev { color: var(--pink-medium) !important; background: #fff; width: 40px; height: 40px; border-radius: 50%; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
    .swiper-button-next:after, .swiper-button-prev:after { font-size: 18px; }

    @media (max-width: 850px) {
        
        .testimonial-card { flex-direction: column; height: auto; }
        .image-side { height: 250px; }
    }