/* ==========================================================================
   VASTRA — main design stylesheet (ported from design mockup)
   ========================================================================== */
:root{
  --amz-dark:#131921;
  --amz-dark2:#232F3E;
  --amz-orange:#FF9900;
  --amz-yellow:#FFD814;
  --amz-yellow2:#FFA41C;
  --bg:#EAEDED;
  --white:#FFFFFF;
  --link:#007185;
  --link-hover:#C7511F;
  --price:#B12704;
  --text:#0F1111;
  --text-light:#565959;
  --border:#D5D9D9;
  --star:#FFA41C;
  --success:#067D62;
  --madder:#B5482E;
  --indigo:#2B3A67;
  --turmeric:#D9A441;
  --radius:4px;
}
*{box-sizing:border-box;}
body{margin:0; padding:0; background:var(--bg); color:var(--text); font-family:'Work Sans', Arial, sans-serif; font-size:14px; line-height:1.4;}
h1,h2,h3,h4{font-family:'Fraunces', serif; font-weight:700; color:var(--text); margin:0;}
p{margin:0;}
.mono{font-family:'IBM Plex Mono', monospace;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer; border:none; background:none;}
img{display:block; max-width:100%;}
ul{list-style:none; margin:0; padding:0;}

/* =============== AMAZON-STYLE HEADER =============== */
.az-header{background:var(--amz-dark); color:#fff;}
.az-top{display:flex; align-items:center; gap:18px; padding:10px 16px; min-height:56px;}
.az-logo{font-family:'Fraunces', serif; font-weight:700; font-size:24px; color:#fff; padding:6px 8px; border:1px solid transparent; cursor:pointer; white-space:nowrap;}
.az-logo em{font-style:italic; color:var(--turmeric);}
.az-logo .tag{display:block; font-family:'Work Sans'; font-size:10px; font-weight:400; margin-top:-4px; text-transform:uppercase; letter-spacing:0.08em; color:#ccc;}
.az-deliver{display:flex; flex-direction:column; padding:6px 10px; border:1px solid transparent; cursor:pointer; font-size:12px; white-space:nowrap;}
.az-deliver .l1{color:#ccc; font-size:11px;}
.az-deliver .l2{font-weight:700; display:flex; align-items:center; gap:4px;}
.az-search{flex:1; display:flex; height:40px; border-radius:4px; overflow:hidden; min-width:200px;}
.az-search select{background:#f3f3f3; border:none; padding:0 8px; font-size:12px; color:#111; border-right:1px solid #cacaca;}
.az-search input{flex:1; border:none; padding:0 12px; font-size:14px; outline:none;}
.az-search button{width:45px; background:var(--amz-orange); display:flex; align-items:center; justify-content:center; font-size:18px;}
.az-search button:hover{background:#e88b00;}
.az-account, .az-orders, .az-cart{padding:6px 10px; border:1px solid transparent; cursor:pointer; font-size:12px; white-space:nowrap; display:flex; flex-direction:column;}
.az-account .l1, .az-orders .l1{color:#ccc; font-size:11px;}
.az-account .l2, .az-orders .l2{font-weight:700; font-size:13px;}
.az-cart{flex-direction:row; align-items:flex-end; gap:4px; position:relative;}
.az-cart .cart-icon{font-size:26px; position:relative;}
.az-cart .cart-count{position:absolute; top:-2px; left:16px; background:var(--amz-orange); color:#111; font-weight:700; font-size:12px; width:18px; height:18px; border-radius:50%; display:flex; align-items:center; justify-content:center;}
.az-cart .cart-label{font-weight:700; font-size:13px; align-self:center;}
.az-top > *:hover{border:1px solid #fff; border-radius:2px;}
.az-nav2{background:var(--amz-dark2); display:flex; align-items:center; gap:18px; padding:8px 16px; font-size:13px; overflow-x:auto;}
.az-nav2 .all-menu{display:flex; align-items:center; gap:8px; font-weight:700; padding:5px 8px; border:1px solid transparent; cursor:pointer; white-space:nowrap;}
.az-nav2 a{padding:5px 6px; border:1px solid transparent; white-space:nowrap; cursor:pointer;}
.az-nav2 a:hover{border:1px solid #fff; border-radius:2px;}
.az-mini-header{background:var(--amz-dark); color:#fff; display:flex; align-items:center; justify-content:space-between; padding:12px 20px;}

/* =============== BUTTONS =============== */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:9px 16px; font-size:13px; border-radius:20px; font-weight:400;}
.btn-cart{background:linear-gradient(to bottom,#F7DFA5,var(--amz-yellow)); border:1px solid #a88734; color:#0F1111;}
.btn-cart:hover{background:linear-gradient(to bottom,#F5D78E,#F0C14B);}
.btn-buy{background:linear-gradient(to bottom,#F5D78E,var(--amz-yellow2)); border:1px solid #a5580a; color:#0F1111;}
.btn-buy:hover{background:linear-gradient(to bottom,#EEC06A,#e8940c);}
.btn-outline{border:1px solid var(--border); background:#fff; color:var(--text);}
.btn-block{width:100%;}
.btn-sm{padding:6px 12px; font-size:12px;}
.btn-link{color:var(--link); text-decoration:none; background:none; border:none; cursor:pointer;}
.btn-link:hover{color:var(--link-hover); text-decoration:underline;}

/* =============== HOME =============== */
.az-hero-banner{background:linear-gradient(180deg,#232F3E 0%, #232F3E 55%, var(--bg) 55%, var(--bg) 100%); padding-bottom:0;}
.az-hero-inner{max-width:1500px; margin:0 auto; padding:0 20px;}
.az-carousel{background:linear-gradient(120deg, var(--indigo), #1C2848); min-height:340px; border-radius:2px; position:relative; overflow:hidden; display:flex; align-items:center; padding:0 60px; color:#fff;}
.az-carousel .swatch-grid{position:absolute; inset:0; display:grid; grid-template-columns:repeat(8,1fr); opacity:0.5;}
.az-carousel .swatch-grid div{border:1px solid rgba(255,255,255,0.05);}
.az-carousel-copy{position:relative; z-index:2; max-width:480px;}
.az-carousel-copy .eyebrow{font-family:'IBM Plex Mono'; font-size:12px; color:var(--turmeric); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:14px;}
.az-carousel-copy h1{font-size:44px; color:#fff; line-height:1.05; margin-bottom:16px;}
.az-carousel-copy p{color:rgba(255,255,255,0.75); margin-bottom:22px; font-size:15px;}
.az-tile-row{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:-90px; position:relative; z-index:5; padding:0 20px; max-width:1500px; margin-left:auto; margin-right:auto;}
.az-tile{background:#fff; padding:20px; border-radius:2px; box-shadow:0 2px 5px rgba(0,0,0,0.15);}
.az-tile h4{font-size:18px; margin-bottom:12px;}
.az-tile-grid{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:12px;}
.az-tile-thumb{aspect-ratio:1/1; background:linear-gradient(150deg,#E1DCCC,#cfc9b5); display:flex; align-items:center; justify-content:center; font-size:10px; color:var(--text-light); text-align:center; overflow:hidden;}
.az-tile-thumb img{width:100%; height:100%; object-fit:cover;}
.az-tile a.see-more{font-size:13px; color:var(--link); font-weight:600;}
.az-tile a.see-more:hover{color:var(--link-hover);}
.az-section{max-width:1500px; margin:0 auto; padding:34px 20px;}
.az-section-card{background:#fff; padding:20px; border-radius:2px;}
.az-section-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:16px;}
.az-section-head h2{font-size:21px;}
.az-section-head .see-all{font-size:13px; color:var(--link); font-weight:600;}
.az-deal-strip{background:linear-gradient(90deg,#CC0C39,#E31837); color:#fff; padding:10px 20px; display:flex; align-items:center; gap:14px; font-weight:700; font-size:14px; max-width:1500px; margin:0 auto; border-radius:2px 2px 0 0; flex-wrap:wrap;}
.az-deal-timer{font-family:'IBM Plex Mono'; background:#111; padding:3px 8px; border-radius:2px; font-size:12px; font-weight:400;}

/* =============== PRODUCT GRID / CARD (also used by WooCommerce loop) =============== */
.az-product-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:14px;}
.az-card{background:#fff; border:1px solid transparent; padding:14px; cursor:pointer; border-radius:2px; display:block;}
.az-card:hover{border-color:var(--border); box-shadow:0 2px 8px rgba(0,0,0,0.08);}
.az-card .thumb{aspect-ratio:1/1; background:linear-gradient(150deg,#F0EEE6,#D8D2BF); margin-bottom:10px; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.az-card .thumb img{width:100%; height:100%; object-fit:cover;}
.az-card .thumb .initials{font-family:'Fraunces',serif; font-size:12px; color:var(--text-light); opacity:0.5;}
.az-card .badge-deal{position:absolute; top:8px; left:8px; background:var(--price); color:#fff; font-size:10px; font-weight:700; padding:3px 6px; border-radius:2px;}
.az-card .wish{position:absolute; top:8px; right:8px; width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,0.9); display:flex; align-items:center; justify-content:center; font-size:13px; box-shadow:0 1px 3px rgba(0,0,0,0.2); z-index:2;}
.az-card .wish.active{color:var(--price);}
.az-card .title{font-size:13px; color:var(--text); margin-bottom:6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:34px;}
.az-stars{color:var(--star); font-size:13px; display:flex; align-items:center; gap:5px; margin-bottom:4px;}
.az-stars .count{color:var(--link); font-size:12px;}
.az-price{display:flex; align-items:baseline; gap:6px; margin-bottom:2px;}
.az-price .cur{font-size:12px; position:relative; top:-6px;}
.az-price .whole{font-size:21px; font-weight:600;}
.az-price .mrp{font-size:12px; color:var(--text-light); text-decoration:line-through;}
.az-price .off{font-size:12px; color:var(--text);}
.az-delivery{font-size:11px; color:var(--text-light); margin-top:4px;}
.az-delivery b{color:var(--text);}
.az-prime{display:inline-flex; align-items:center; gap:4px; font-size:11px; color:#00A8E1; font-weight:700; margin-top:4px;}

/* =============== FOOTER =============== */
.az-footer{background:var(--amz-dark2); color:#fff;}
.az-footer-top{text-align:center; padding:16px; background:#37475A; cursor:pointer; font-size:13px; border:none; width:100%; color:#fff;}
.az-footer-top:hover{background:#485769;}
.az-footer-grid{max-width:1500px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:40px 20px;}
.az-footer-grid h5{font-size:15px; font-weight:700; margin-bottom:14px; color:#fff;}
.az-footer-grid a{display:block; font-size:12px; color:#ddd; margin-bottom:10px;}
.az-footer-grid a:hover{text-decoration:underline;}
.az-footer-bottom{background:var(--amz-dark); text-align:center; padding:20px; font-size:12px; color:#ccc;}
.az-footer-bottom .flogo{font-family:'Fraunces',serif; font-size:18px; margin-bottom:8px; color:#fff;}

/* =============== SHOP / ARCHIVE =============== */
.shop-layout{display:grid; grid-template-columns:240px 1fr; gap:16px; max-width:1500px; margin:16px auto; padding:0 20px; align-items:start;}
.filters{background:#fff; padding:20px; border-radius:2px;}
.filters h4{font-size:15px; margin-bottom:12px; margin-top:22px; padding-bottom:8px; border-bottom:1px solid var(--border);}
.filters h4:first-child{margin-top:0;}
.filter-row{display:flex; align-items:center; gap:8px; margin-bottom:10px; font-size:13px; color:var(--text);}
.filter-row:hover{color:var(--link); cursor:pointer;}
.filter-row input{accent-color:var(--link);}
.shop-main{}
.shop-toolbar{background:#fff; display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; padding:14px 20px; border-radius:2px; flex-wrap:wrap; gap:10px;}
.shop-toolbar h2{font-size:19px;}
.shop-toolbar .count{font-size:13px; color:var(--text-light);}
.sort-select{font-size:12px; border:1px solid var(--border); padding:8px 10px; border-radius:2px; background:#fff;}
.shop-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.pagination{display:flex; justify-content:center; gap:6px; margin:24px 0 8px;}
.pagination a, .pagination span{width:32px; height:32px; display:flex; align-items:center; justify-content:center; border:1px solid var(--border); background:#fff; font-size:13px; border-radius:2px; cursor:pointer;}
.pagination .current{background:var(--amz-dark2); color:#fff; border-color:var(--amz-dark2);}

/* =============== PRODUCT DETAIL =============== */
.pdp-wrap{max-width:1500px; margin:16px auto; padding:0 20px;}
.pdp-breadcrumb{font-size:12px; color:var(--text-light); margin-bottom:10px;}
.pdp-breadcrumb a{color:var(--link);}
.pdp-custom{display:grid; grid-template-columns:1fr 1fr; gap:24px; background:#fff; padding:24px; border-radius:2px;}
.pdp-gallery img{border-radius:2px;}
.pdp-summary .product_title{font-size:22px; font-weight:600; margin-bottom:6px; color:var(--text);}
.pdp-summary .price{font-size:24px; color:var(--price); font-weight:600; display:block; margin:10px 0;}
.pdp-summary .price del{color:var(--text-light); font-size:14px; font-weight:400;}
.pdp-summary .price ins{text-decoration:none;}
.pdp-summary .woocommerce-product-rating{margin-bottom:10px;}
.pdp-summary form.cart{margin-top:16px;}
.pdp-summary .single_add_to_cart_button{border-radius:20px !important; padding:10px 20px !important; font-size:14px !important; background:linear-gradient(to bottom,#F5D78E,var(--amz-yellow2)) !important; border:1px solid #a5580a !important; color:#0F1111 !important;}
.pdp-summary table.variations{margin-bottom:14px; width:100%;}
.pdp-summary table.variations td{padding:6px 0;}
.pdp-summary .quantity input{width:60px; padding:8px; border:1px solid var(--border); border-radius:4px;}
.pdp-wishlist-link{margin-top:14px; font-size:13px; display:inline-block;}
.woocommerce-product-details__short-description{font-size:13px; color:var(--text-light); margin:14px 0;}
.woocommerce-tabs{margin-top:24px; border-top:1px solid var(--border); padding-top:14px;}

/* =============== AUTH / LOGIN-REGISTER =============== */
.auth-wrap{max-width:420px; margin:40px auto; background:#fff; padding:32px 32px 24px; border:1px solid var(--border); border-radius:2px;}
.auth-wrap h2{font-size:26px; font-weight:400; margin-bottom:18px; font-family:'Work Sans';}
.auth-tabs{display:flex; gap:0; margin-bottom:18px; border-bottom:1px solid var(--border);}
.auth-tab{padding:0 0 10px; margin-right:24px; font-size:13px; color:var(--text-light); position:relative; cursor:pointer; background:none; border:none;}
.auth-tab.active{color:var(--text); font-weight:700;}
.auth-tab.active::after{content:''; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--amz-orange);}
.auth-panel{display:none;}
.auth-panel.active{display:block;}
.auth-wrap .field{margin-bottom:14px;}
.auth-wrap label{display:block; font-size:12px; font-weight:600; margin-bottom:5px;}
.auth-wrap input[type="text"], .auth-wrap input[type="email"], .auth-wrap input[type="password"]{width:100%; padding:9px 10px; border:1px solid #888; border-radius:4px; font-size:13px;}
.auth-terms{font-size:11px; color:var(--text-light); margin:14px 0;}
.auth-terms a{color:var(--link);}

/* =============== ACCOUNT SIDEBAR (My Account) =============== */
.account-layout{max-width:1300px; margin:16px auto; padding:0 20px; display:grid; grid-template-columns:240px 1fr; gap:16px; align-items:start;}
.account-side{background:#fff; padding:18px; border-radius:2px;}
.account-side .user-mini{display:flex; align-items:center; gap:10px; margin-bottom:16px; padding-bottom:16px; border-bottom:1px solid var(--border);}
.avatar{width:38px; height:38px; border-radius:50%; background:var(--indigo); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-size:15px; flex-shrink:0;}
.account-side ul{margin:0;}
.account-side a{display:block; padding:9px 10px; font-size:13px; margin-bottom:2px; border-radius:4px; color:var(--text);}
.account-side li.is-active a, .account-side a.active{background:#F0F2F2; font-weight:700;}
.account-main{background:#fff; padding:20px; border-radius:2px;}

/* =============== PAGE TITLE / WISHLIST / ABOUT / CONTACT =============== */
.page-title-bar{max-width:1500px; margin:0 auto; padding:24px 20px 10px;}
.page-title-bar h1{font-size:24px; font-weight:400; font-family:'Work Sans'; margin-bottom:6px;}
.page-title-bar p{color:var(--text-light); font-size:13px;}
.about-hero{padding:70px 20px; text-align:center; max-width:760px; margin:0 auto;}
.about-hero .mono{color:var(--madder); text-transform:uppercase; letter-spacing:0.1em; font-size:12px; margin-bottom:16px; display:block;}
.about-hero h1{font-size:38px; line-height:1.1; margin-bottom:18px;}
.about-hero p{font-size:16px; color:var(--text-light);}
.about-stats{display:grid; grid-template-columns:repeat(4,1fr); max-width:1200px; margin:0 auto; background:#fff; border-radius:2px;}
.about-stat{padding:34px 24px; text-align:center; border-right:1px solid var(--border);}
.about-stat:last-child{border-right:none;}
.about-stat .num{font-family:'Fraunces',serif; font-size:34px; color:var(--indigo);}
.about-stat .lbl{font-size:11px; text-transform:uppercase; letter-spacing:0.04em; color:var(--text-light); margin-top:6px;}
.about-story{display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:60px 20px; max-width:1200px; margin:0 auto; align-items:center;}
.about-story .img-block{aspect-ratio:4/5; background:linear-gradient(160deg,#F0EEE6,#D8D2BF); border-radius:4px; overflow:hidden;}
.about-story .img-block img{width:100%; height:100%; object-fit:cover;}
.about-story h2{font-size:26px; margin-bottom:14px;}
.about-story p{color:var(--text-light); margin-bottom:12px; font-size:14px;}
.contact-layout{max-width:1200px; margin:20px auto; padding:0 20px; display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.contact-info{background:var(--amz-dark2); color:#fff; padding:50px 40px; border-radius:2px;}
.contact-info h2{color:#fff; font-size:26px; margin-bottom:14px;}
.contact-info p{color:rgba(255,255,255,0.7); margin-bottom:28px; font-size:14px;}
.contact-block{margin-bottom:22px; padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,0.15);}
.contact-block .mono{color:var(--turmeric); font-size:11px; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:6px; display:block;}
.contact-block .val{font-size:16px; font-weight:600;}
.contact-form{background:#fff; padding:50px 40px; border-radius:2px;}
.contact-form .field{margin-bottom:14px;}
.contact-form label{display:block; font-size:12px; font-weight:600; margin-bottom:5px;}
.contact-form input, .contact-form textarea{width:100%; padding:9px 10px; border:1px solid #888; border-radius:4px; font-size:13px; font-family:inherit;}
.contact-form textarea{height:100px; resize:vertical;}
.form-notice{padding:10px 14px; border-radius:4px; font-size:13px; margin-bottom:14px;}
.form-notice.success{background:#e7f5ef; color:var(--success);}
.form-notice.error{background:#fdecea; color:var(--price);}

@media (max-width:900px){
  .az-tile-row, .shop-layout, .pdp-custom, .account-layout, .about-story, .contact-layout{grid-template-columns:1fr !important;}
  .az-product-grid, .shop-grid{grid-template-columns:repeat(2,1fr) !important;}
  .az-top{flex-wrap:wrap;}
  .az-search{order:3; width:100%;}
  .az-nav2 a{display:none;}
}
