/*
Theme Name: IVORIA Store
Theme URI: https://www.ivoria.com.ua
Author: IVORIA
Description: Lightweight WooCommerce storefront for IVORIA.
Version: 1.0.0
Text Domain: ivoria-store
*/

:root { --ink:#354b5c; --ink-dark:#203747; --paper:#f9f8f6; --sand:#efe7df; --rose:#dcbab4; --line:#e4e0db; --muted:#6d7478; --white:#fff; --radius:2px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink-dark); font-family:Arial, Helvetica, sans-serif; font-size:16px; line-height:1.5; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; }
.iv-container { width:min(1180px, calc(100% - 40px)); margin-inline:auto; }
.iv-topline { background:var(--ink-dark); color:#fff; font-size:12px; letter-spacing:.08em; padding:9px 0; text-align:center; text-transform:uppercase; }
.iv-header { background:rgba(249,248,246,.97); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; }
.iv-header-row { align-items:center; display:grid; gap:25px; grid-template-columns:1fr auto 1fr; min-height:84px; }
.iv-logo { display:flex; align-items:center; justify-content:center; }
.iv-logo img { display:block; max-height:46px; max-width:190px; object-fit:contain; width:auto; }
.iv-logo-text { color:var(--ink); font-size:27px; font-weight:700; letter-spacing:.18em; }
.iv-nav ul, .iv-utilities { align-items:center; display:flex; gap:22px; list-style:none; margin:0; padding:0; }
.iv-nav a, .iv-utilities a { font-size:13px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.iv-utilities { justify-content:flex-end; gap:14px; }
.iv-icon { border:0; background:none; cursor:pointer; font-size:20px; padding:4px; }
.iv-mobile-toggle { display:none; }
.iv-hero { background:linear-gradient(115deg,#d7ccc3 0 38%,#f3ede7 38% 68%,#b8c7c9 68%); min-height:640px; overflow:hidden; position:relative; }
.iv-hero:before { background:rgba(255,255,255,.28); border:1px solid rgba(255,255,255,.5); border-radius:50%; content:""; height:530px; position:absolute; right:7%; top:74px; transform:rotate(-19deg); width:350px; }
.iv-hero:after { border:1px solid rgba(32,55,71,.20); content:""; height:390px; position:absolute; right:17%; top:122px; transform:rotate(27deg); width:255px; }
.iv-hero .iv-container { align-items:center; display:flex; min-height:640px; position:relative; z-index:1; }
.iv-hero-copy { max-width:590px; padding:80px 0; }
.iv-eyebrow { color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.16em; margin:0 0 14px; text-transform:uppercase; }
h1,h2,h3 { font-family:Georgia, 'Times New Roman', serif; font-weight:400; line-height:1.05; margin-top:0; }
h1 { font-size:clamp(48px, 6vw, 78px); letter-spacing:-.055em; margin-bottom:22px; }
h2 { font-size:clamp(32px, 4vw, 51px); letter-spacing:-.035em; }
.iv-lead { font-size:18px; max-width:450px; }
.iv-btn { background:var(--ink); border:1px solid var(--ink); color:#fff; display:inline-block; font-size:12px; font-weight:700; letter-spacing:.12em; margin-top:14px; padding:15px 23px; text-transform:uppercase; transition:.2s; }
.iv-btn:hover { background:transparent; color:var(--ink); }
.iv-btn--light { background:transparent; color:var(--ink); }
.iv-btn--light:hover { background:var(--ink); color:#fff; }
.iv-section { padding:90px 0; }
.iv-section--sand { background:var(--sand); }
.iv-section-heading { align-items:end; display:flex; justify-content:space-between; margin-bottom:35px; }
.iv-section-heading p { color:var(--muted); max-width:400px; margin:0; }
.iv-category-grid { display:grid; gap:18px; grid-template-columns:repeat(3,1fr); }
.iv-category-card { background:#b9c8ca; isolation:isolate; min-height:460px; overflow:hidden; padding:28px; position:relative; }
.iv-category-card:nth-child(2) { background:#cbbfb5; }
.iv-category-card:nth-child(3) { background:#d9b9b4; }
.iv-category-card:before { background:rgba(255,255,255,.25); border:1px solid rgba(255,255,255,.55); border-radius:52% 48% 44% 56%; content:""; height:410px; position:absolute; right:-110px; top:65px; transform:rotate(19deg); width:250px; }
.iv-category-card:nth-child(2):before { border-radius:48% 52% 60% 40%; left:-120px; right:auto; transform:rotate(-22deg); }
.iv-category-card:after { background:linear-gradient(0deg,rgba(32,55,71,.62),rgba(32,55,71,.04) 70%); content:""; inset:0; position:absolute; z-index:-1; }
.iv-category-card .iv-category-title { bottom:27px; color:#fff; font-family:Georgia,serif; font-size:39px; left:28px; position:absolute; z-index:2; }
.iv-category-card .iv-category-link { bottom:30px; color:#fff; font-size:12px; font-weight:700; letter-spacing:.1em; position:absolute; right:28px; text-transform:uppercase; z-index:2; }
.iv-category-card img { height:100%; inset:0; object-fit:cover; position:absolute; width:100%; }
.iv-product-grid ul.products { display:grid; gap:20px; grid-template-columns:repeat(4,1fr); margin:0; padding:0; }
.woocommerce ul.products li.product { float:none; margin:0; width:auto; }
.woocommerce ul.products li.product a img { margin-bottom:14px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color:var(--ink-dark); font-family:Arial,sans-serif; font-size:14px; font-weight:600; padding:0; }
.woocommerce ul.products li.product .price { color:var(--ink); font-size:15px; font-weight:700; }
.woocommerce span.onsale { background:var(--ink); border-radius:0; min-height:auto; min-width:auto; padding:5px 9px; }
.iv-story { background:var(--ink); color:#fff; padding:106px 0; text-align:center; }
.iv-story .iv-eyebrow { color:#d8e1e5; }
.iv-story h2 { max-width:800px; margin:0 auto 18px; }
.iv-story p { margin:0 auto; max-width:580px; }
.iv-benefits { display:grid; gap:30px; grid-template-columns:repeat(3,1fr); text-align:center; }
.iv-benefit-icon { font-size:30px; margin-bottom:10px; }
.iv-benefits h3 { font-family:Arial,sans-serif; font-size:15px; font-weight:700; letter-spacing:.06em; margin-bottom:8px; text-transform:uppercase; }
.iv-benefits p { color:var(--muted); font-size:14px; margin:0; }
.iv-footer { background:#203747; color:#f7f4ef; padding:70px 0 24px; }
.iv-footer-grid { display:grid; gap:42px; grid-template-columns:1.5fr 1fr 1fr 1.3fr; }
.iv-footer h3 { font-family:Arial,sans-serif; font-size:12px; font-weight:700; letter-spacing:.12em; margin-bottom:18px; text-transform:uppercase; }
.iv-footer ul { list-style:none; margin:0; padding:0; }
.iv-footer li { font-size:14px; margin:9px 0; }
.iv-footer-brand { font-family:Georgia,serif; font-size:32px; letter-spacing:.06em; margin:0 0 16px; }
.iv-footer-contact { line-height:1.9; }
.iv-footer-bottom { border-top:1px solid rgba(255,255,255,.23); color:#ccd3d7; display:flex; font-size:12px; justify-content:space-between; margin-top:60px; padding-top:20px; }
.iv-footer-bottom a { text-decoration:underline; }
.woocommerce .button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { background:var(--ink); border-radius:0; color:#fff; font-size:12px; letter-spacing:.08em; padding:13px 18px; text-transform:uppercase; }
.woocommerce .button:hover, .woocommerce a.button:hover { background:var(--ink-dark); color:#fff; }
.woocommerce div.product .product_title { font-size:40px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--ink); }
.iv-page { padding:70px 0; }
.iv-page .entry-content { max-width:800px; }
@media (max-width: 1050px) { .iv-header-row { grid-template-columns:auto 1fr auto; min-height:70px; } .iv-mobile-toggle { display:block; } .iv-nav { display:none; } .iv-nav.is-open { background:var(--paper); border-bottom:1px solid var(--line); display:block; left:0; padding:20px max(20px, calc((100% - 1180px)/2)); position:absolute; right:0; top:70px; } .iv-nav ul { align-items:start; flex-direction:column; gap:15px; } .iv-logo { justify-content:start; } .iv-logo-text { font-size:21px; } }
@media (max-width: 800px) { .iv-utilities a:first-child { display:none; } .iv-utilities a { font-size:11px; } .iv-hero, .iv-hero .iv-container { min-height:520px; } .iv-hero:before { height:350px; right:-70px; top:80px; width:230px; } .iv-hero:after { height:280px; right:7%; top:110px; width:190px; } .iv-section { padding:60px 0; } .iv-category-grid { grid-template-columns:1fr; } .iv-category-card { min-height:310px; } .iv-category-card:before { height:360px; top:30px; width:230px; } .iv-product-grid ul.products { grid-template-columns:repeat(2,1fr); } .iv-section-heading { align-items:start; flex-direction:column; gap:10px; } .iv-benefits, .iv-footer-grid { grid-template-columns:1fr; } .iv-footer-bottom { flex-direction:column; gap:12px; } }
