/*
Theme Name: Waft & Sway
Theme URI: https://waftandsway.com/
Description: Waft & Sway 専用 Welcart Basic 子テーマ。ハンドメイドキャンドルEC向け。
Author: sophiro
Version: 0.9.0
Template: welcart_basic
Text Domain: waftandsway
*/

:root{
  --ws-ink:#2f2924;
  --ws-muted:#766e66;
  --ws-line:#e8e1da;
  --ws-bg:#fbf9f6;
  --ws-paper:#fff;
  --ws-accent:#4a4037;
  --ws-soft:#f1ece6;
  --ws-max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--ws-bg);color:var(--ws-ink);
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  line-height:1.75;letter-spacing:.02em;
}
body,button,input,select,textarea{font-size:15px}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.ws-serif{font-family:"Cormorant Garamond","Times New Roman","Yu Mincho",serif}
.ws-wrap{width:min(calc(100% - 48px),var(--ws-max));margin-inline:auto}
.ws-announcement{
  padding:7px 16px;text-align:center;background:#efe9e2;color:#5f554c;
  font-size:12px;letter-spacing:.08em
}
.ws-header{background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--ws-line);position:sticky;top:0;z-index:50}
.ws-header-main{height:82px;display:grid;grid-template-columns:240px 1fr 190px;align-items:center;gap:22px}
.ws-logo{display:inline-flex;flex-direction:column;line-height:1}
.ws-logo-en{font:500 32px/1 "Cormorant Garamond","Times New Roman",serif;letter-spacing:.01em}
.ws-logo-jp{margin-top:9px;font-size:10px;letter-spacing:.17em;color:var(--ws-muted)}
.ws-nav{display:flex;justify-content:center;gap:34px}
.ws-nav a{font-size:12px;text-align:center;line-height:1.25;letter-spacing:.06em}
.ws-nav small{display:block;margin-top:6px;font-size:9px;color:#8a827a;letter-spacing:.04em}
.ws-tools{display:flex;justify-content:flex-end;gap:16px;font-size:12px}
.ws-hero{
  min-height:560px;display:flex;align-items:center;position:relative;overflow:hidden;
  background:
    linear-gradient(90deg,rgba(247,243,238,.98) 0%,rgba(247,243,238,.88) 31%,rgba(247,243,238,.30) 53%,rgba(247,243,238,0) 72%),
    url("assets/images/hero.jpg") 70% center/cover no-repeat;
}
.ws-hero-copy{max-width:560px;padding:72px 0}
.ws-eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#8c8176}
.ws-hero h1{font:500 clamp(44px,5vw,76px)/1.02 "Cormorant Garamond","Times New Roman",serif;letter-spacing:.07em;margin:16px 0 20px}
.ws-hero p{font-size:17px;letter-spacing:.08em}
.ws-btn{
  display:inline-block;margin-top:25px;padding:14px 30px;background:var(--ws-accent);color:white;
  font-size:11px;letter-spacing:.12em;transition:.2s ease
}
.ws-btn:hover{transform:translateY(-1px);opacity:.9}
.ws-section{padding:88px 0}
.ws-section-tight{padding:34px 0 74px}
.ws-title{text-align:center;margin-bottom:38px}
.ws-title .en{font:500 36px/1 "Cormorant Garamond","Times New Roman",serif;letter-spacing:.08em}
.ws-title .jp{display:block;margin-top:9px;font-size:12px;color:var(--ws-muted);letter-spacing:.1em}
.ws-collections{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ws-collection{
  position:relative;min-height:300px;background-size:cover;background-position:center;overflow:hidden
}
.ws-collection:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,247,243,.94) 0%,rgba(250,247,243,.62) 34%,rgba(250,247,243,.08) 72%)}
.ws-collection-copy{position:absolute;z-index:2;left:28px;top:28px}
.ws-collection h2{font:500 26px/1.1 "Cormorant Garamond","Times New Roman",serif;letter-spacing:.05em;margin:0 0 8px}
.ws-collection p{margin:0;font-size:12px}
.ws-more{display:inline-block;margin-top:22px;font-size:10px;letter-spacing:.1em;border-bottom:1px solid currentColor}
.ws-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 18px}
.ws-product-card{position:relative}
.ws-product-thumb{aspect-ratio:4/5;background:#eee center/cover no-repeat;overflow:hidden}
.ws-product-thumb img{width:100%;height:100%;object-fit:cover;transition:.35s ease}
.ws-product-card:hover .ws-product-thumb img{transform:scale(1.025)}
.ws-badge{
  position:absolute;left:8px;top:8px;z-index:2;background:#3c342d;color:#fff;
  padding:4px 8px;font-size:9px;letter-spacing:.08em
}
.ws-product-name{margin-top:12px;font-size:13px}
.ws-product-price{margin-top:3px;font-size:13px}
.ws-product-note{color:#8b8178;font-size:10px;margin-top:4px}
.ws-product-empty{
  grid-column:1/-1;padding:28px 24px;border:1px dashed #cfc5bc;text-align:center;background:#fff
}
.ws-feature-split{display:grid;grid-template-columns:1.05fr .95fr;min-height:520px;background:#f0ebe5}
.ws-feature-image{background:url("assets/images/making.jpg") 56% center/cover no-repeat}
.ws-feature-copy{padding:72px;display:flex;flex-direction:column;justify-content:center}
.ws-feature-copy h2{font:500 44px/1.05 "Cormorant Garamond","Times New Roman",serif;margin:12px 0 20px}
.ws-feature-copy p{max-width:520px}
.ws-service{border-top:1px solid var(--ws-line);border-bottom:1px solid var(--ws-line);background:#fff}
.ws-service-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.ws-service-item{padding:26px 24px;border-right:1px solid var(--ws-line)}
.ws-service-item:last-child{border-right:0}
.ws-service-item b{display:block;font-size:12px;letter-spacing:.08em}
.ws-service-item span{display:block;margin-top:6px;font-size:11px;color:var(--ws-muted)}
.ws-about{text-align:center;max-width:760px;margin:auto}
.ws-about h2{font:500 42px/1 "Cormorant Garamond","Times New Roman",serif}
.ws-footer{background:#2f2a26;color:#f8f4ef;padding:64px 0 28px}
.ws-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}
.ws-footer h3{font:500 34px/1 "Cormorant Garamond","Times New Roman",serif;margin:0}
.ws-footer small{display:block;color:#bbb0a6;margin-top:10px}
.ws-footer ul{list-style:none;padding:0;margin:0}
.ws-footer li{margin:8px 0;font-size:12px}
.ws-copy{margin-top:50px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16);font-size:10px;color:#aaa097}
.ws-page{padding:80px 0}
.ws-page h1{font:500 42px/1.1 "Cormorant Garamond","Times New Roman",serif}
.ws-mobile-menu{display:none}

@media(max-width:980px){
  .ws-header-main{grid-template-columns:1fr auto;height:76px}
  .ws-nav{display:none}.ws-tools{gap:10px}.ws-logo-en{font-size:28px}
  .ws-hero{min-height:500px;background-position:58% center}
  .ws-collections{grid-template-columns:1fr}
  .ws-collection{min-height:260px}
  .ws-product-grid{grid-template-columns:repeat(2,1fr)}
  .ws-feature-split{grid-template-columns:1fr}.ws-feature-image{min-height:420px}.ws-feature-copy{padding:50px 30px}
  .ws-service-grid{grid-template-columns:repeat(2,1fr)}
  .ws-service-item:nth-child(2){border-right:0}
  .ws-footer-grid{grid-template-columns:1fr 1fr}.ws-footer-brand{grid-column:1/-1}
}
@media(max-width:620px){
  .ws-wrap{width:min(calc(100% - 28px),var(--ws-max))}
  .ws-announcement{font-size:10px}
  .ws-tools .ws-login{display:none}
  .ws-hero{min-height:520px;align-items:flex-end;background:
    linear-gradient(0deg,rgba(247,243,238,.94) 0%,rgba(247,243,238,.32) 65%),
    url("assets/images/hero.jpg") 62% center/cover no-repeat}
  .ws-hero-copy{padding:42px 0}.ws-hero h1{font-size:46px}.ws-hero p{font-size:14px}
  .ws-section{padding:62px 0}
  .ws-product-grid{gap:24px 10px}
  .ws-feature-image{min-height:300px}.ws-feature-copy{padding:42px 22px}
  .ws-feature-copy h2{font-size:36px}
  .ws-service-grid{grid-template-columns:1fr}
  .ws-service-item{border-right:0;border-bottom:1px solid var(--ws-line)}
  .ws-footer-grid{grid-template-columns:1fr}
  .ws-footer-brand{grid-column:auto}
}

/* Welcart Basic inherited screens: brand-tinted overrides */
#content .entry-title, .page-title{font-family:"Cormorant Garamond","Yu Mincho",serif}
input[type="submit"],button,.skubutton{
  border-radius:0!important;background:var(--ws-accent)!important;color:#fff!important;border:0!important
}
#cart_table th,.customer_form th{background:#f2ede7!important}

body.admin-bar .ws-header{top:32px}
@media(max-width:782px){body.admin-bar .ws-header{top:46px}}
@media(max-width:620px){
  .ws-header-main{height:68px}
  .ws-logo-en{font-size:25px}
  .ws-logo-jp{margin-top:6px;font-size:9px}
  .ws-hero{min-height:500px;background:
    linear-gradient(0deg,rgba(247,243,238,.98) 0%,rgba(247,243,238,.74) 30%,rgba(247,243,238,.10) 66%),
    url("assets/images/hero.jpg") 66% center/cover no-repeat}
  .ws-hero-copy{padding:36px 0}
}


/* 404 */
.ws-404{
  min-height:520px;
  display:flex;
  align-items:center;
  text-align:center;
  background:var(--ws-bg);
}
.ws-404-inner{
  padding:100px 20px;
}
.ws-404 h1{
  margin:18px 0 24px;
  font-family:"Cormorant Garamond","Yu Mincho","Times New Roman",serif;
  font-size:clamp(32px,4vw,52px);
  font-weight:500;
  line-height:1.4;
  letter-spacing:.04em;
}
.ws-404 p{
  margin:0 0 30px;
  color:var(--ws-muted);
  line-height:2;
}
.ws-404 .ws-btn{
  min-width:150px;
}
@media(max-width:620px){
  .ws-404{min-height:430px}
  .ws-404-inner{padding:72px 18px}
  .ws-404 h1{font-size:34px}
}


/* Information pages */
.ws-narrow{max-width:920px}
.ws-page-head{text-align:center;margin-bottom:58px}
.ws-page-head h1{
  margin:14px 0 12px;
  font-family:"Cormorant Garamond","Yu Mincho","Times New Roman",serif;
  font-size:clamp(36px,4vw,52px);
  font-weight:500;
  line-height:1.3;
}
.ws-page-head p{color:var(--ws-muted)}
.ws-info-section{padding:30px 0;border-top:1px solid var(--ws-line)}
.ws-info-section:last-child{border-bottom:1px solid var(--ws-line)}
.ws-info-section h2{
  margin:0 0 14px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:21px;
  font-weight:500;
}
.ws-info-section p{margin:8px 0;color:#514a44}
.ws-contact-intro{margin-bottom:30px;text-align:center;color:var(--ws-muted)}
.ws-contact-form{max-width:760px;margin:0 auto}
.ws-contact-form input[type="text"],
.ws-contact-form input[type="email"],
.ws-contact-form input[type="tel"],
.ws-contact-form textarea,
.ws-contact-form select{
  width:100%;
  padding:13px 14px;
  border:1px solid #d8d0c8;
  background:#fff;
}
.ws-contact-form textarea{min-height:180px}
.ws-contact-form input[type="submit"]{padding:14px 34px}
.ws-legal-table{border-top:1px solid var(--ws-line)}
.ws-legal-table dl{
  display:grid;
  grid-template-columns:220px 1fr;
  margin:0;
  border-bottom:1px solid var(--ws-line);
}
.ws-legal-table dt{
  padding:18px 20px;
  background:#f3eee8;
  font-weight:500;
}
.ws-legal-table dd{margin:0;padding:18px 20px;background:#fff}
.ws-placeholder{
  display:inline-block;
  padding:2px 8px;
  background:#fff3cd;
  border:1px solid #ead38b;
  font-size:12px;
}
.ws-admin-note{
  margin-top:30px;
  padding:18px 20px;
  border:1px solid #d8d0c8;
  background:#fffaf1;
  font-size:13px;
  line-height:1.7;
}
@media(max-width:620px){
  .ws-page-head{margin-bottom:38px}
  .ws-legal-table dl{grid-template-columns:1fr}
  .ws-legal-table dt{padding:13px 15px}
  .ws-legal-table dd{padding:15px}
}
