/*
Theme Name: JOIE CARILLON
Author: JOIE CARILLON
Description: カスタムHTMLで育てる、ワインと暮らしのWooCommerce対応テーマ。
Version: 1.1.16
Requires at least: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: joie-carillon
*/
:root{--paper:#faf8f4;--ink:#34342f;--muted:#706c64;--wine:#65323e;--line:#ddd6ca;--sage:#e8eadf;--serif:Georgia,'Yu Mincho','Hiragino Mincho ProN',serif;--sans:-apple-system,BlinkMacSystemFont,'Noto Sans JP','Yu Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.9 var(--sans)}img{max-width:100%;height:auto}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--wine);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.6}h1{font-size:clamp(30px,4vw,52px)}h2{font-size:clamp(25px,3vw,36px)}h3{font-size:23px}.jc-wrap{width:min(1160px,calc(100% - 64px));margin-inline:auto}.jc-topnote{text-align:center;background:var(--wine);color:white;font-size:11px;letter-spacing:.16em;padding:7px 16px}.jc-header{border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:20}.jc-header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px}.jc-brand{text-decoration:none;display:block;white-space:nowrap}.jc-brand-name{display:block;font:24px/1.3 Georgia,serif;letter-spacing:.12em}.jc-brand-sub{display:block;letter-spacing:.23em;font-size:9px;margin-top:8px;color:var(--muted)}.custom-logo-link img{max-height:65px;width:auto}.jc-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:25px;align-items:center}.jc-nav a{font-size:12px;text-decoration:none;display:block;padding:12px 0}.jc-nav a:hover,.current-menu-item>a{color:var(--wine);text-decoration:underline}.jc-nav li{position:relative}.jc-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:190px;padding:12px;background:var(--paper);border:1px solid var(--line)}.jc-nav li:hover>.sub-menu,.jc-nav li:focus-within>.sub-menu{display:block}.jc-nav .sub-menu .sub-menu{position:static;border:0}.jc-actions{display:flex;align-items:center;gap:20px}.jc-cart{font-size:12px;text-decoration:none;padding:12px 0;white-space:nowrap}.jc-menu-toggle{display:none;background:none;border:1px solid var(--line);padding:8px 12px;color:var(--ink)}.jc-skip{position:absolute;top:-100px;background:white;padding:12px;z-index:100}.jc-skip:focus{top:10px}.jc-hero{display:grid;grid-template-columns:1fr 1fr;min-height:560px;align-items:center;gap:48px;padding-block:48px 60px}.jc-eyebrow{font:11px/1.5 var(--sans);letter-spacing:.22em;color:var(--wine);margin-bottom:26px}.jc-hero h1{font-size:clamp(32px,3.5vw,48px);letter-spacing:.06em;margin-bottom:22px}.jc-hero p:not(.jc-eyebrow){color:var(--muted);font-size:14px;line-height:2.2}.jc-hero-art{background:#e8e3d8;border-radius:48% 48% 0 0;aspect-ratio:1/1.05;overflow:hidden}.jc-hero-art img{display:block;width:100%;height:100%;object-fit:cover}.jc-button{display:inline-flex;align-items:center;justify-content:center;gap:34px;background:var(--wine);color:white;text-decoration:none;padding:14px 26px;border:1px solid var(--wine);font-size:13px;min-height:48px}.jc-button:hover{background:#48232b}.jc-button.light{background:transparent;color:var(--wine)}.jc-section{padding-block:76px;border-top:1px solid var(--line)}.jc-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}.jc-section-head h2{margin:0}.jc-section-head .jc-eyebrow{margin-bottom:12px}.jc-small-link{font-size:13px;color:var(--wine)}.jc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.jc-card{text-decoration:none;display:block}.jc-card-visual{height:230px;display:flex;align-items:center;justify-content:center;background:#eae3de;color:#734450;font:italic 43px var(--serif);margin-bottom:22px}.jc-card:nth-child(2) .jc-card-visual{background:#e9e9df;color:#555f4e}.jc-card:nth-child(3) .jc-card-visual{background:#efe7db;color:#8a714b}.jc-card h3{margin-bottom:9px}.jc-card p{color:var(--muted);font-size:13px}.jc-card:hover h3{text-decoration:underline;text-underline-offset:7px}.jc-story{display:grid;grid-template-columns:1fr 1fr;gap:72px;background:var(--sage);padding:60px}.jc-story p{font-size:14px}.jc-story h2{margin-bottom:0}.jc-center{text-align:center}.jc-news{list-style:none;padding:0;margin:0}.jc-news li{padding:22px 0;border-bottom:1px solid var(--line);display:flex;gap:30px}.jc-news time{font-size:12px;color:var(--muted)}.jc-page{min-height:55vh;padding-block:65px 90px}.jc-page-title{border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:40px}.jc-prose{max-width:780px;margin-inline:auto}.jc-prose h2{font-size:26px;margin-top:45px}.jc-prose p,.jc-prose li{line-height:2}.jc-prose details{border-bottom:1px solid var(--line);padding:20px 0}.jc-prose summary{cursor:pointer;font-weight:600}.jc-prose details p{margin:18px 0 0}.jc-note{background:#efeae2;border-left:3px solid var(--wine);padding:20px 24px}.jc-footer{margin-top:32px;background:#efede7;padding:55px 0 24px;border-top:1px solid var(--line)}.jc-footer-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:50px}.jc-footer p{font-size:12px;color:var(--muted);margin-top:18px}.jc-footer ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.jc-footer a{font-size:12px;text-decoration:none}.jc-footer .jc-brand{font-size:24px}.jc-footer-bottom{margin-top:35px;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:16px;font-size:10px;color:var(--muted)}.jc-shop{min-height:55vh;padding-block:55px 80px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:18px}.woocommerce ul.products li.product .price{color:var(--wine)}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--wine);color:white;border-radius:0;font-weight:400;padding:14px 20px}.woocommerce button.button.alt:hover,.woocommerce a.button:hover,.woocommerce a.button.alt:hover{background:#48232b;color:white}.woocommerce input.input-text,.woocommerce textarea,.woocommerce select{padding:12px;border:1px solid var(--line);background:white;max-width:100%}.woocommerce div.product .product_title{font-size:32px}.woocommerce div.product p.price{color:var(--wine)}.woocommerce table.shop_table{border-radius:0}.woocommerce-message,.woocommerce-info{border-top-color:var(--wine)}.woocommerce-message::before,.woocommerce-info::before{color:var(--wine)}.woocommerce .woocommerce-breadcrumb{font-size:12px;margin-bottom:30px}.woocommerce span.onsale{background:var(--wine)}.wc-block-components-button:not(.is-link){border-radius:0}.jc-reveal.is-pending{opacity:0;transform:translateY(18px)}.jc-reveal{transition:opacity .7s ease,transform .7s ease}.jc-empty{padding:32px;background:#f0ece5}.alignwide{max-width:1160px}.alignfull{width:100%}.wp-block-image img{height:auto}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
@media(max-width:1050px){.jc-nav ul{gap:16px}.jc-brand-name{font-size:20px}.jc-header-inner{gap:16px}.jc-nav a{font-size:11px}}
@media(max-width:900px){.jc-wrap{width:calc(100% - 40px)}.jc-header-inner{min-height:85px;flex-wrap:wrap;padding-block:15px}.jc-menu-toggle{display:block}.jc-nav{width:100%;order:3}.jc-nav ul{display:block}.jc-nav a{font-size:14px;padding:12px 4px}.jc-nav .sub-menu{position:static;display:block;border:0;padding:0 0 0 20px}.jc-nav[hidden]{display:none}.jc-hero{gap:30px;min-height:460px}.jc-hero h1{font-size:32px}.jc-story{padding:40px;gap:32px}.jc-card-visual{height:180px}}
@media(min-width:901px){.jc-nav[hidden]{display:block}}
@media(max-width:600px){.jc-topnote{font-size:10px}.jc-brand-name{font-size:19px}.jc-brand-sub{font-size:8px;letter-spacing:.15em}.jc-actions{gap:12px}.jc-cart{font-size:11px}.jc-menu-toggle{font-size:11px}.jc-hero{grid-template-columns:1fr;padding-top:36px;gap:32px}.jc-hero h1{font-size:33px;line-height:1.65}.jc-hero .jc-eyebrow{margin-bottom:20px}.jc-hero-art{max-height:380px;aspect-ratio:1.1}.jc-section{padding-block:45px}.jc-section-head{align-items:start}.jc-section-head h2{font-size:26px}.jc-small-link{font-size:11px;white-space:nowrap}.jc-grid{grid-template-columns:1fr;gap:30px}.jc-card-visual{height:200px;margin-bottom:16px}.jc-card h3{font-size:23px}.jc-story{grid-template-columns:1fr;padding:30px 24px;gap:20px}.jc-footer-grid{grid-template-columns:1fr;gap:25px}.jc-footer-bottom{display:block}.jc-footer-bottom span{display:block}.jc-news li{display:block}.jc-news time{display:block;margin-bottom:6px}.jc-page{padding-block:40px 60px}.jc-page-title{font-size:30px}.jc-prose{font-size:14px}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:48%;margin:0 0 28px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px}.woocommerce ul.products li.product .button{font-size:12px;padding:12px}.jc-section-head .jc-eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.jc-reveal{transition:none}.jc-reveal.is-pending{opacity:1;transform:none}}

/* Equal square catalogue frames with the entire source photo visible.
 * Applies to classic shop/category/shortcode/related-product cards only. */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link > img {
 display: block;
 width: 100%;
 height: auto;
 aspect-ratio: 1 / 1;
 object-fit: contain;
 object-position: center;
 background: var(--paper);
 padding: 12px;
}
/* Shared structure for reusable wine descriptions. */
body.single-product .jc-wine-description h3 {
 margin: 36px 0 16px;
 padding: 4px 0 4px 14px;
 border-left: 3px solid #75434b;
 font-size: 19px;
 line-height: 1.7;
 color: #693c33;
}
body.single-product .jc-wine-description table {
 width: 100%; max-width: 780px; border-collapse: collapse;
 font-size: 14px; line-height: 1.9;
}
body.single-product .jc-wine-description th,
body.single-product .jc-wine-description td {
 text-align: left; vertical-align: top; padding: 14px 12px;
 border: 0; border-bottom: 1px solid #e3dcd4; overflow-wrap: anywhere;
}
body.single-product .jc-wine-description th { width: 30%; font-weight: 500; }
