/*
Theme Name: Elena Souvenir
Theme URI: https://example.com
Author: Elena Souvenir
Description: Aegean-style theme for a gift, souvenir and jewellery shop. Built for WooCommerce and Elementor. Header, footer and home page can be edited in Elementor or the Customizer.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: elena-souvenir
*/
:root{--bg:#fbf9f4;--surf:#fff;--ink:#14253d;--mut:#5b6b80;--blue:#14407a;--sea:#8fbbe0;--sand:#efe6d4;--line:#e3dccb;--h1:#f1f8fe;--h2:#cfe8fa;box-sizing:border-box}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Figtree,system-ui,sans-serif}
img{max-width:100%;height:auto}a{color:var(--blue);text-decoration:none}
h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.15;color:var(--ink)}
.sc{font-family:'Great Vibes','Cormorant Garamond',serif!important;font-weight:400;color:var(--blue)}
html[lang^=el] .sc{font-style:italic;font-weight:600}
:focus-visible{outline:3px solid var(--sea);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.wrap{max-width:1200px;margin:auto;padding:28px 20px}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
.admin-bar .site-header{top:32px}
.bar{max-width:1200px;margin:auto;display:flex;align-items:center;gap:14px;padding:8px 20px}
.brand{display:flex;align-items:center;gap:10px;font-size:38px;line-height:1}.brand img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.main-nav{margin-left:auto}.main-nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0}
.main-nav a{color:var(--ink);font-weight:500;padding:6px 0;border-bottom:2px solid transparent}
.main-nav a:hover,.main-nav .current-menu-item>a{border-color:var(--blue)}
.menu-toggle{display:none;border:1px solid var(--line);background:var(--surf);border-radius:10px;width:44px;height:44px;font-size:20px;color:var(--blue)}
.lang ul{display:flex;gap:2px;list-style:none;margin:0;padding:3px;border:1px solid var(--line);border-radius:99px;background:var(--surf)}
.lang li a{display:block;padding:5px 11px;border-radius:99px;font-size:14px;font-weight:600;color:var(--ink);text-transform:uppercase}
.lang li.current-lang a,.lang li a[aria-current]{background:var(--blue);color:#fff}
.lang .widget{margin:0}.lang .widget-title{display:none}
.cartb{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surf);color:var(--blue);display:grid;place-items:center}
.cart-count{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--blue);color:#fff;font-size:12px;font-weight:600;display:grid;place-items:center}
/* home */
.hero{background:radial-gradient(620px 460px at 78% 45%,var(--h2),transparent 70%),linear-gradient(135deg,var(--h1),var(--h2) 120%)}
.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center;padding-block:56px}
.hero h1{font-size:clamp(56px,8vw,96px);line-height:1;margin:6px 0 14px}
.hero p{font-size:18px;max-width:46ch;color:var(--mut)}.hero .eb{letter-spacing:.2em;font-size:13px;font-weight:600;text-transform:uppercase;margin:0}
.hero img{width:100%;max-width:380px;justify-self:center;border-radius:50%;border:10px solid #fff;box-shadow:0 24px 60px rgba(20,64,122,.25);animation:fl 3.8s ease-in-out infinite alternate}
@keyframes fl{from{transform:translateY(8px)}to{transform:translateY(-12px)}}
.btn,.button,button.button,input.button,.woocommerce a.button,.woocommerce button.button,.woocommerce #respond input#submit{display:inline-block;background:var(--blue);color:#fff;border:0;border-radius:99px;padding:12px 26px;font-weight:600;font-size:16px;cursor:pointer;line-height:1.3}
.btn:hover,.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:#0d2f5c;color:#fff}
.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--blue)}
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cat{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 18px;border-radius:24px;background:var(--surf);border:1px solid var(--line);box-shadow:0 10px 30px rgba(20,64,122,.08);transition:transform .2s,box-shadow .2s;color:var(--mut)}
.cat:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(20,64,122,.15)}.cat span{font-size:46px;line-height:1.1}
.sec{display:flex;justify-content:space-between;align-items:end;margin:38px 0 16px}.sec h2{font-size:48px;margin:0}
/* products */
ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:20px;padding:0;margin:0 0 24px;list-style:none}
ul.products::before,ul.products::after{display:none!important}
ul.products li.product{float:none!important;width:auto!important;margin:0!important;background:var(--surf);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 8px 28px rgba(20,64,122,.08);position:relative;padding:0 0 14px;display:flex;flex-direction:column;text-align:left}
ul.products li.product:hover{border-color:var(--blue)}
ul.products li.product a img{width:100%;aspect-ratio:1;object-fit:cover;margin:0 0 10px;display:block;background:var(--sand)}
ul.products li.product .woocommerce-loop-product__title{font:500 16px/1.35 Figtree,sans-serif;padding:0 14px;color:var(--ink);margin:0 0 4px}
ul.products li.product .price{display:block;padding:0 14px;font-weight:600;color:var(--blue)}
ul.products li.product .button{margin:10px 14px 0;padding:9px 16px;font-size:14px;align-self:flex-start}
ul.products li.product .onsale,.onsale{background:var(--blue);color:#fff;border-radius:99px;min-height:0;min-width:0;line-height:1;padding:8px 12px;top:10px;left:10px;right:auto;margin:0;position:absolute;z-index:2}
.woocommerce-ordering select,select,input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],textarea{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surf);font:inherit;color:var(--ink)}
.woocommerce-breadcrumb{color:var(--mut);font-size:14px;margin-bottom:14px}
.woocommerce div.product{display:grid;grid-template-columns:1.1fr 1fr;gap:36px}
.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none!important;width:100%!important;margin:0!important}
.woocommerce div.product div.images img{border-radius:16px}
.woocommerce div.product .flex-control-thumbs{display:flex;gap:10px;margin:10px 0 0;padding:0;list-style:none}.woocommerce div.product .flex-control-thumbs li{width:74px!important;float:none!important}.flex-control-thumbs img{border-radius:10px;border:2px solid var(--line);aspect-ratio:1;object-fit:cover}
.woocommerce div.product .product_title{font-size:clamp(32px,4vw,46px);margin:0 0 8px}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-size:26px;font-weight:600;color:var(--blue)}
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,.woocommerce div.product .upsells{grid-column:1/-1}
.woocommerce div.product .related>h2,.woocommerce div.product .upsells>h2{font-size:34px}
.woocommerce .quantity .qty{width:70px;border-radius:99px;text-align:center}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:12px;background:var(--surf);border:1px solid var(--line);border-top:3px solid var(--blue)}
.woocommerce table.shop_table{border-radius:14px;border-color:var(--line);background:var(--surf)}
.woocommerce-tabs ul.tabs{padding:0;display:flex;gap:8px;list-style:none;border-bottom:1px solid var(--line)}.woocommerce-tabs ul.tabs::before{display:none}
.woocommerce-tabs ul.tabs li{border:0!important;background:none!important}.woocommerce-tabs ul.tabs li.active a{color:var(--blue);border-bottom:2px solid var(--blue)}
/* posts, footer */
.post-card{background:var(--surf);border:1px solid var(--line);border-radius:20px;padding:22px;margin-bottom:18px}.entry-title{font-size:clamp(34px,5vw,54px)}
.site-footer{background:var(--sand);margin-top:40px;color:var(--mut)}.site-footer .cols{max-width:1200px;margin:auto;padding:32px 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.site-footer .copy{text-align:center;padding:14px;border-top:1px solid var(--line);font-size:14px}.site-footer a{color:var(--ink)}.site-footer h2,.site-footer h3{font-size:22px;margin:0 0 8px}.site-footer ul{list-style:none;padding:0;margin:0}
@media(max-width:900px){ul.products{grid-template-columns:repeat(3,1fr)}.woocommerce div.product{grid-template-columns:1fr}}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:640px){ul.products{grid-template-columns:repeat(2,1fr);gap:12px}.hero .wrap{grid-template-columns:1fr}.hero img{max-width:220px;order:-1}.cats,.site-footer .cols{grid-template-columns:1fr}
.bar{flex-wrap:wrap}.brand{margin-right:auto}.menu-toggle{display:block;order:5}.lang{order:2}.cartb{order:3}
.main-nav{order:9;width:100%;margin:0;display:none}.main-nav.open{display:block}.main-nav ul{flex-direction:column;gap:0}.main-nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}.sec h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.hero img{animation:none}.cat{transition:none}}
