/* Crystal Astral 02 v0.3.4 — visual system + page UI + site layouts, interconnected. */
:root{
 --ca-paper:var(--wp--preset--color--paper,#f9f7f1);
 --ca-ivory:var(--wp--preset--color--ivory,#efebe1);
 --ca-pine:var(--wp--preset--color--pine,#283d35);
 --ca-gold:var(--wp--preset--color--bronze,#a48a65);
 --ca-copper:var(--wp--preset--color--copper,#8e544b);
 --ca-ink:var(--wp--preset--color--ink,#292c28);
 --ca-muted:#767269;
 --ca-serif:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif;
 --ca-roman:'Cormorant Garamond',Georgia,serif;
 --ca-sans:'Noto Sans JP',system-ui,sans-serif;
 --ca-max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ca-paper);color:var(--ca-ink);font-family:var(--ca-sans);font-weight:400;line-height:1.8;letter-spacing:.03em}
body .wp-site-blocks{overflow-x:clip}
body .wp-site-blocks > * {margin-block-start:0}
.ca02-front,.ca02-standalone-shop,.ca02-page,.ca02-journal-archive,.ca02-single{margin:0!important}
.ca02-front > *,.ca02-standalone-shop > *{margin-top:0!important}
.ca02-front a,.ca02-mast a,.ca02-footer a,.ca02-journal-archive a,.ca02-page a,.ca02-single a{text-underline-offset:4px}
.ca02-front img,.ca02-page img,.ca02-single img,.ca02-journal-archive img{max-width:100%;height:auto}
.ca02-eyebrow{font-size:10px!important;letter-spacing:.24em!important;text-transform:uppercase;font-weight:600!important;color:var(--ca-copper)!important;line-height:1.8;margin:0 0 15px!important}
.ca02-roman{font-family:var(--ca-roman)!important;font-weight:400!important;letter-spacing:.025em}
.ca02-display-heading{font-family:var(--ca-serif)!important;font-size:clamp(27px,3.8vw,49px)!important;font-weight:400!important;line-height:1.75!important;letter-spacing:.11em!important;margin:10px 0 20px!important}
.ca02-section-title{font-size:clamp(51px,7vw,80px)!important;font-weight:400!important;line-height:1.03!important;margin:0 0 34px!important}
.ca02-link{display:inline-flex;align-items:center;gap:12px;width:fit-content;color:inherit!important;font-size:12px;font-weight:500;letter-spacing:.1em;text-decoration:none!important;border-bottom:1px solid currentColor;padding:10px 0 9px;transition:gap .22s,color .22s}
.ca02-link:hover{gap:20px;color:var(--ca-copper)!important}
.ca02-link:focus-visible{outline:2px solid var(--ca-gold);outline-offset:5px}
.ca02-link-button{background:var(--ca-pine);color:var(--ca-paper)!important;padding:12px 22px;border:1px solid var(--ca-gold)}
.ca02-link-button:hover{color:#fff!important}
.ca02-front :where(.wp-block-group),.ca02-standalone-shop :where(.wp-block-group){min-width:0}
.ca02-section-inner{width:min(calc(100% - 44px),var(--ca-max))!important;max-width:var(--ca-max)!important;margin-inline:auto!important;padding:0!important}
/* Brand header: paper, warm seal, fine gold line, genuine WordPress navigation */
.ca02-mast{margin:0!important;position:relative;z-index:80;background:var(--ca-paper);border-bottom:1px solid color-mix(in srgb,var(--ca-gold) 42%,transparent)}
.ca02-mast-inner{max-width:var(--ca-max)!important;width:min(calc(100% - 44px),var(--ca-max))!important;min-height:96px;gap:30px;align-items:center;justify-content:space-between;margin-inline:auto!important;padding:10px 0}
.ca02-brand{display:block;flex:1 1 auto;max-width:100%;position:relative;padding-left:56px;min-width:0}
.ca02-brand::before{content:'✥';position:absolute;left:0;top:50%;width:40px;height:40px;transform:translateY(-50%);border-radius:50%;display:grid;place-items:center;font:19px var(--ca-serif);color:#faf3e2;text-shadow:0 1px 2px #3c2c2370;background:radial-gradient(circle at 29% 23%,#d6bc89,#a88659 51%,#534b3e 100%);box-shadow:inset 0 0 0 2px #ffffff55,0 1px 5px #0002}
.ca02-mast .ca02-brand-title{font:400 clamp(19px,2vw,28px)/1.25 var(--ca-roman)!important;letter-spacing:.035em;margin:0!important;overflow-wrap:anywhere}
.ca02-mast .ca02-brand-title a{color:var(--ca-ink)!important;text-decoration:none}
.ca02-brand-kicker{font-size:8px;letter-spacing:.13em;color:var(--ca-copper);margin:5px 0 0!important;line-height:1.4}
.ca02-mast .ca02-navigation{font-size:11px;letter-spacing:.065em;min-width:0}
.ca02-mast .wp-block-navigation-item__content{color:var(--ca-ink)!important;padding:7px 4px;text-decoration:none!important;border-bottom:1px solid transparent}
.ca02-mast .wp-block-navigation-item__content:hover,.ca02-mast .current-menu-item > a{color:var(--ca-copper)!important;border-color:var(--ca-copper)}
.ca02-mast .wp-block-navigation__responsive-container-open{color:var(--ca-ink);padding:9px}
.ca02-mast .wp-block-navigation__responsive-container.is-menu-open{background:var(--ca-paper);color:var(--ca-ink);padding:50px 25px}
/* Immersive flagship hero: original concept photo on native Cover; locally packaged illustrated fallback. */
.ca02-hero{min-height:600px!important;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,#0e221ddd,#10282070),var(--ca-pine)!important}
.ca02-hero .wp-block-cover__image-background{object-position:center 48%;filter:saturate(.72) contrast(1.04)}
.ca02-hero .wp-block-cover__background{background:linear-gradient(91deg,#0a1e19b8,#172c2360 68%,#0d221a35)!important;opacity:1!important}
.ca02-hero .wp-block-cover__inner-container{width:min(calc(100% - 44px),var(--ca-max))!important;max-width:var(--ca-max)!important;margin:auto!important}
.ca02-hero-copy{max-width:var(--ca-max)!important;padding:95px 0 105px!important}
.ca02-hero-copy .ca02-eyebrow{color:#e5c6a0!important}
.ca02-hero .ca02-hero-title{font-family:var(--ca-serif)!important;font-size:clamp(38px,5.8vw,78px)!important;line-height:1.68!important;letter-spacing:.16em!important;font-weight:400!important;color:#fff!important;margin:8px 0 18px!important;text-shadow:0 3px 15px #051610b0}
.ca02-hero .ca02-hero-description{font-size:clamp(12px,1.2vw,15px);line-height:2.45!important;letter-spacing:.08em;color:#faf5e8;margin:0 0 20px!important}
.ca02-hero .ca02-link{color:#f9eacf!important}
/* Intro */
.ca02-intro{max-width:var(--ca-max)!important;width:min(calc(100% - 44px),var(--ca-max))!important;display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:center;margin-inline:auto!important;padding:104px 0 106px!important}
.ca02-intro .ca02-intro-left,.ca02-intro .ca02-intro-right{margin:0!important}
.ca02-intro .ca02-intro-body{font-size:13px;line-height:2.5;color:var(--ca-muted);margin:0!important}
.ca02-intro .ca02-site-motto{font-size:12px;color:var(--ca-copper);padding-top:14px}
/* Journal: creamy paper background, staggered story collage. */
.ca02-journal-section{background:var(--ca-ivory);padding:85px 0 108px!important;position:relative}
.ca02-journal-section .ca02-section-title{margin-bottom:46px!important}
.ca02-story-grid{display:grid;grid-template-columns:1.32fr .92fr .92fr;gap:24px;align-items:start;margin:0 0 32px}
.ca02-story-card:nth-child(2){padding-top:74px}
.ca02-story-card:nth-child(3){padding-top:148px}
.ca02-story-media{display:block;position:relative;overflow:hidden;aspect-ratio:4/5;background:linear-gradient(150deg,#b4b5a7,#6f7f71);text-decoration:none!important;color:#f9f2e2!important;border:1px solid color-mix(in srgb,var(--ca-gold) 40%,transparent)}
.ca02-story-card:first-child .ca02-story-media{aspect-ratio:4/4.2}
.ca02-story-image{height:100%!important;width:100%!important;object-fit:cover;transition:transform .5s}
.ca02-story-card:hover .ca02-story-image{transform:scale(1.035)}
.ca02-story-placeholder{height:100%;display:grid;place-items:center;position:relative;isolation:isolate;color:#f9f2e2;background:radial-gradient(circle at 75% 25%,#a79c79a8,transparent 32%),linear-gradient(135deg,#203f38,#455a4c 58%,#ab9070)}
.ca02-story-placeholder::before{content:'';position:absolute;inset:10px;border:1px solid #ead8b65a;z-index:-1}
.ca02-story-placeholder::after{content:'✧';font:140px var(--ca-roman);position:absolute;inset:0;display:grid;place-items:center;color:#e2c89b40;z-index:-1}
.ca02-story-placeholder span{font:84px var(--ca-roman);letter-spacing:.1em;color:#eee5d0d9}
.ca02-story-card:nth-child(2) .ca02-story-placeholder{background:linear-gradient(150deg,#82685a,#b49b77 60%,#ded1b7)}
.ca02-story-card:nth-child(3) .ca02-story-placeholder{background:linear-gradient(150deg,#3b4c3f,#83927a 60%,#c6bd96)}
.ca02-story-details{padding:18px 4px 0}
.ca02-story-details .ca02-eyebrow{margin:0 0 9px!important}
.ca02-story-date{float:right;letter-spacing:.1em;color:#726e65}
.ca02-story-title{font:400 clamp(16px,1.5vw,20px)/1.8 var(--ca-serif)!important;margin:0 0 10px!important;letter-spacing:.04em}
.ca02-story-title a{text-decoration:none;color:var(--ca-ink)}
.ca02-story-title a:hover{color:var(--ca-copper)}
.ca02-story-details p:not(.ca02-eyebrow){font-size:12px;line-height:2;color:var(--ca-muted);margin:0}
.ca02-story-empty{padding:90px 22px;border:1px solid color-mix(in srgb,var(--ca-gold) 48%,transparent);text-align:center;margin:35px 0}
/* Atelier photo and copy */
.ca02-atelier{width:min(calc(100% - 44px),var(--ca-max))!important;max-width:var(--ca-max)!important;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;margin-inline:auto!important;padding:112px 0!important}
.ca02-atelier-image{margin:0!important;height:500px;overflow:hidden;background:linear-gradient(130deg,#b7ad94,#4c6458)}
.ca02-atelier-image img{height:100%!important;width:100%!important;object-fit:cover}
.ca02-at-text{margin:0!important;padding:0!important}
.ca02-at-body{font-size:13px;line-height:2.5;color:var(--ca-muted);margin:0 0 10px!important}
/* Shop / ornate Japanese boutique */
.ca02-shop-hero{display:grid;grid-template-columns:1fr 1.12fr;min-height:500px;background:var(--ca-pine);color:var(--ca-paper);margin:0!important}
.ca02-shop-photo{height:100%;min-height:500px;margin:0!important;overflow:hidden;background:linear-gradient(155deg,#9f8967,#d0c7ad 55%,#4e5d4d)}
.ca02-shop-photo img{height:100%!important;width:100%!important;object-fit:cover;filter:saturate(.7)}
.ca02-shop-hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;isolation:isolate;margin:0!important;padding:78px min(8vw,100px)!important;overflow:hidden}
.ca02-shop-hero-copy::before{content:'';position:absolute;z-index:-1;right:-30px;top:-65px;width:clamp(245px,38vw,410px);height:410px;background:url('../images/makie-vine.svg') top right/contain no-repeat;opacity:.78;transform:rotate(8deg);pointer-events:none}
.ca02-shop-hero-copy .ca02-eyebrow{color:#e3bd8d!important}
.ca02-shop-hero-copy .ca02-display-heading{color:#f7f1e7!important}
.ca02-shop-blurb{font-size:13px;line-height:2.55!important;color:#ece5d8;margin:0 0 12px!important}
.ca02-shop-hero-copy .ca02-link{color:#e8cfaa!important}
.ca02-collection-stage{position:relative;padding:84px 0 109px!important;background:var(--ca-paper);isolation:isolate;overflow:hidden;margin:0!important}
.ca02-collection-stage::after{content:'';position:absolute;z-index:-1;right:-92px;top:-125px;width:350px;height:350px;background:url('../images/makie-vine.svg') center/contain no-repeat;opacity:.21;transform:rotate(12deg);pointer-events:none}
.ca02-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px;margin-top:16px}
.ca02-product-image{aspect-ratio:4/4.65;display:grid;place-items:center;overflow:hidden;background:var(--ca-ivory);border:12px solid color-mix(in srgb,var(--ca-ivory) 90%,white);position:relative;text-decoration:none}
.ca02-product-image img{width:100%!important;height:100%!important;object-fit:cover;transition:transform .45s}
.ca02-product-card:hover .ca02-product-image img{transform:scale(1.04)}
.ca02-product-image::after{content:'';position:absolute;inset:14px;border:1px solid #fff8;pointer-events:none}
.ca02-product-placeholder{font:92px var(--ca-roman);color:color-mix(in srgb,var(--ca-gold) 83%,var(--ca-pine));text-shadow:1px 2px 0 #f9eac0;transform:rotate(-15deg)}
.ca02-product-image-1{background:radial-gradient(circle at 54% 40%,#f8e2a7 0 1%,transparent 17%),linear-gradient(140deg,#c1b28f,#eae4d6 60%,#baa287)}
.ca02-product-image-2{background:linear-gradient(160deg,#dbcfbc,#c8bfb0 60%,#9aa898)}
.ca02-product-image-3{background:linear-gradient(160deg,#ccd7c9,#e3d9ca 54%,#b9a98f)}
.ca02-product-card .ca02-eyebrow{margin:20px 0 7px!important}
.ca02-product-card h3{font:400 19px/1.7 var(--ca-serif)!important;margin:0 0 9px!important;color:var(--ca-ink)}
.ca02-product-card h3 a{color:inherit;text-decoration:none}
.ca02-product-card>p{font-size:12px;line-height:1.9;color:var(--ca-muted);margin:0 0 9px!important}
.ca02-price{font:26px var(--ca-roman);margin:12px 0;color:var(--ca-copper)}
.ca02-price .woocommerce-Price-amount{font-family:var(--ca-serif);font-size:18px}
.ca02-small-link{font-size:12px;letter-spacing:.06em;border-bottom:1px solid var(--ca-gold);padding-bottom:5px;text-decoration:none!important}
.ca02-demo-label{font-size:10px;letter-spacing:.05em;color:#78746d;border-top:1px solid #c9bc9f;padding-top:7px;display:inline-block}
/* Dark library full-width band */
.ca02-reading-band{background:var(--ca-pine);color:var(--ca-paper);padding:90px 0!important;position:relative;overflow:hidden}
.ca02-reading-band::before{content:'';position:absolute;left:-125px;bottom:-185px;width:370px;height:370px;background:url('../images/makie-vine.svg') center/contain no-repeat;opacity:.33;transform:rotate(190deg)}
.ca02-reading-inner{width:min(calc(100% - 44px),var(--ca-max))!important;max-width:var(--ca-max)!important;margin:0 auto!important;display:grid;grid-template-columns:1fr 1.08fr;gap:8%;align-items:center;position:relative}
.ca02-reading-copy{margin:0!important}
.ca02-reading-copy .ca02-eyebrow{color:#dfc29a!important}
.ca02-reading-copy .ca02-display-heading{color:#f4efe2!important}
.ca02-reading-description{font-size:13px;line-height:2.5!important;color:#ebe5d7;margin:0!important}
.ca02-reading-copy .ca02-link{color:#f0d8b0!important}
.ca02-reading-image{height:350px;margin:0!important;overflow:hidden;background:linear-gradient(45deg,#4b4b39,#9c8266)}
.ca02-reading-image img{height:100%!important;width:100%!important;object-fit:cover}
/* Original home content stays; this preserves database-managed pages without suppressing flagship. */
.ca02-existing-home{background:var(--ca-ivory);padding:73px 0 92px!important}
.ca02-existing-inner{width:min(calc(100% - 44px),var(--ca-max))!important;max-width:var(--ca-max)!important;margin:0 auto!important}
.ca02-existing-home .ca02-display-heading{font-size:clamp(24px,3vw,35px)!important}
.ca02-existing-content{max-width:840px!important;line-height:1.85;padding:0!important;overflow-wrap:break-word}
.ca02-existing-content :is(p,ul,ol){margin-block:0 1.25em}
/* Interior pages: ivory editorial band + legible article area. */
.ca02-page{background:var(--ca-paper);padding:0 0 65px!important}
.ca02-page-frame{width:min(calc(100% - 44px),930px)!important;max-width:930px!important;margin:0 auto!important;padding:62px 0 70px!important}
.ca02-page-heading{padding:4px 0 27px!important;border-bottom:1px solid #c9b89b;margin-bottom:35px!important;position:relative}
.ca02-page-heading::after{content:'✧';position:absolute;right:0;bottom:5px;color:var(--ca-gold);font:50px var(--ca-roman)}
.ca02-page-heading .ca02-standard-title{font:400 clamp(36px,5.5vw,67px)/1.32 var(--ca-serif)!important;letter-spacing:.05em;margin:0!important}
.ca02-page-body{max-width:850px!important;overflow-wrap:break-word;font-size:clamp(15px,1.3vw,17px);line-height:1.87}
.ca02-page-body :is(p,ul,ol,blockquote){margin-block:0 1.25em}
.ca02-page-body :is(h2,h3,h4){line-height:1.5;letter-spacing:.04em;margin-block:1.8em .7em}
.ca02-page-body figure{max-width:100%}
.ca02-page-body img{height:auto}
.ca02-page-body :is(pre,table){max-width:100%;overflow-x:auto}
/* APO shortcode output is page data, but the shelf presentation belongs to theme */
.ca02-apo-page .ca02-page-heading{display:none}
.ca02-apo-page .ca02-page-frame{padding-top:0!important}
.ca02-apo-page .apo-shelf-page{padding:30px 0 60px;margin:0!important}
.ca02-apo-page .apo-shelf-page > h1{font:400 clamp(58px,10vw,105px)/1 var(--ca-roman)!important;letter-spacing:.025em;margin:24px 0 50px!important;padding-bottom:24px;border-bottom:1px solid var(--ca-gold)}
.ca02-apo-page .apo-shelf-page::before{content:'THE JOURNAL · ARCHIVE';display:block;color:var(--ca-copper);letter-spacing:.24em;font-weight:600;font-size:10px;padding-top:30px}
.ca02-apo-page .apo-shelf-page[data-apo-shelf="fiction"]::before{content:'THE READING ROOM · FICTION'}
.ca02-apo-page .apo-shelf-tree{list-style:none;padding:0;margin:0;display:grid;gap:0}
.ca02-apo-page .apo-shelf-tree li{list-style:none;padding:22px 0;border-bottom:1px solid #d7cdbd;position:relative}
.ca02-apo-page .apo-shelf-tree li:first-child{border-top:1px solid #d7cdbd}
.ca02-apo-page .apo-shelf-tree li::before{content:'✦';color:var(--ca-copper);margin-right:16px}
.ca02-apo-page .apo-shelf-tree a{font:400 clamp(16px,2.8vw,23px)/1.85 var(--ca-serif);text-decoration:none!important;color:var(--ca-ink)}
.ca02-apo-page .apo-shelf-tree a:hover{color:var(--ca-copper)}
.ca02-apo-page .apo-shelf-empty{background:var(--ca-ivory);padding:30px;color:var(--ca-muted);font-size:14px}
/* Editorial archive: automatic grid of real posts, not old default vertical bullet list. */
.ca02-journal-archive{background:var(--ca-paper);padding:73px 0 90px!important}
.ca02-journal-archive-inner{width:min(calc(100% - 44px),var(--ca-max))!important;max-width:var(--ca-max)!important;margin:0 auto!important}
.ca02-journal-archive .ca02-section-title{font-size:clamp(65px,10vw,120px)!important}
.ca02-archive-title{font-size:clamp(38px,6vw,68px)!important;font-family:var(--ca-serif)!important;line-height:1.4;margin:0 0 22px!important}
.ca02-list-lead{font-size:13px;color:var(--ca-muted);line-height:2.2;margin:0 0 44px!important}
.ca02-post-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px!important;list-style:none;padding:0!important;margin:0 0 35px!important}
.ca02-post-tile{height:100%;margin:0!important}
.ca02-post-tile .ca02-post-thumb{aspect-ratio:4/4.6;background:linear-gradient(150deg,#7b8b78,#d3c1a3);display:block;margin:0 0 18px!important;overflow:hidden}
.ca02-post-thumb img{height:100%!important;width:100%!important;object-fit:cover}
.ca02-post-tile .ca02-post-date{font-size:11px;color:var(--ca-copper);letter-spacing:.11em;margin:0 0 8px!important}
.ca02-post-tile .ca02-post-tile-title{font:400 clamp(16px,2vw,21px)/1.65 var(--ca-serif)!important;letter-spacing:.04em;margin:0 0 10px!important}
.ca02-post-tile-title a{text-decoration:none;color:var(--ca-ink)}
.ca02-post-excerpt{font-size:12px;color:var(--ca-muted);line-height:1.95;margin:0!important}
.ca02-post-excerpt .wp-block-post-excerpt__more-link{display:inline-block;color:var(--ca-copper);margin-top:7px}
.ca02-journal-archive .wp-block-query-pagination{gap:20px;margin-top:47px;font:18px var(--ca-roman)}
.ca02-journal-archive .wp-block-query-pagination a{color:var(--ca-ink)}
/* Single articles: calm reading surface, editorial divider and image rhythm. */
.ca02-single{padding:80px 0 90px!important;background:var(--ca-paper)}
.ca02-single-inner{width:min(calc(100% - 44px),850px)!important;max-width:850px!important;margin:0 auto!important}
.ca02-single-date{color:var(--ca-copper);font-size:12px;letter-spacing:.13em;margin:0 0 13px!important}
.ca02-single-title{font:400 clamp(31px,4.4vw,56px)/1.55 var(--ca-serif)!important;letter-spacing:.055em;margin:8px 0 38px!important}
.ca02-single-cover{margin:0 0 45px!important;max-width:100%;background:var(--ca-ivory)}
.ca02-single-cover img{max-width:100%;height:auto}
.ca02-single-content{font-size:clamp(15px,1.4vw,17px);line-height:2.05;overflow-wrap:break-word}
.ca02-single-content p{margin-block:0 1.5em}
.ca02-single-content :is(h2,h3){line-height:1.55;margin-block:2.0em .8em}
.ca02-single-content :is(pre,table){max-width:100%;overflow-x:auto}
.ca02-single-content blockquote{padding:13px 24px;border-left:2px solid var(--ca-gold);font-family:var(--ca-serif);color:var(--ca-copper)}
.ca02-single-terms{font-size:12px;color:var(--ca-muted);margin:43px 0 18px!important}
.ca02-post-navigation{padding:24px 0;border-block:1px solid #d6ccb9;gap:12px;font-size:13px}
.ca02-post-navigation a{color:var(--ca-pine)}
/* Independent shop page retains customizable user content */
.ca02-collection-hero{padding:86px 0 90px!important;background:var(--ca-ivory);position:relative;isolation:isolate;overflow:hidden}
.ca02-collection-hero::after{content:'';position:absolute;right:8%;top:-80px;width:260px;height:280px;background:url('../images/makie-vine.svg') center/contain no-repeat;opacity:.21;transform:rotate(8deg);z-index:-1}
.ca02-collection-hero-content{width:min(calc(100% - 44px),var(--ca-max))!important;max-width:var(--ca-max)!important;margin:0 auto!important}
.ca02-lead-copy{font-size:13px;line-height:2.2;color:var(--ca-muted)}
.ca02-shop-notes{padding:63px 0 72px;background:var(--ca-ivory)}
.ca02-shop-page-content{width:min(calc(100% - 44px),var(--ca-max))!important;margin:0 auto!important;overflow-wrap:break-word}
.ca02-error{padding:125px 0;background:var(--ca-ivory);min-height:60vh}
.ca02-error-inner{width:min(calc(100% - 44px),var(--ca-max))!important;margin:0 auto!important}
/* Footer: actual site identity, no copy from design demos; no trailing blank band. */
.ca02-footer{background:var(--ca-pine);color:var(--ca-paper);padding:61px max(22px,env(safe-area-inset-right)) 26px max(22px,env(safe-area-inset-left))!important;margin:0!important;overflow-wrap:anywhere}
.ca02-footer-inner{width:min(100%,var(--ca-max))!important;max-width:var(--ca-max)!important;margin:0 auto!important;padding-inline:0!important}
.ca02-footer .ca02-footer-kicker{color:#d1b384!important;margin:0 0 12px!important}
.ca02-footer .ca02-footer-title{font:400 clamp(34px,5vw,54px)/1.2 var(--ca-roman)!important;margin:0 0 13px!important;letter-spacing:.04em;max-width:100%;overflow-wrap:anywhere}
.ca02-footer-title a{color:var(--ca-paper)!important;text-decoration:none!important}
.ca02-footer .ca02-footer-tagline{font-size:13px;color:#e6dfd2;margin:0 0 37px!important;line-height:2}
.ca02-footer .ca02-footer-rule{border:0;border-top:1px solid #ddcda54d;max-width:100%;margin:0 0 24px!important}
.ca02-footer .wp-block-shortcode{margin:0!important}
.ca02-copyright{font-size:11px;color:#dfdacd;margin:0!important;line-height:2}
/* Accessibility and overflow checks */
.ca02-front :is(h1,h2,h3),.ca02-page :is(h1,h2,h3),.ca02-journal-archive :is(h1,h2,h3){overflow-wrap:break-word}
.ca02-page :is(img,video,iframe),.ca02-single :is(img,video,iframe){max-width:100%}
.ca02-page .wp-block-columns{flex-wrap:wrap}
@media(max-width:1020px){
 .ca02-mast-inner{min-height:82px}.ca02-mast .ca02-navigation{font-size:10px}
 .ca02-hero{min-height:550px!important}
 .ca02-story-grid{gap:19px}.ca02-story-card:nth-child(2){padding-top:43px}.ca02-story-card:nth-child(3){padding-top:86px}
 .ca02-shop-hero-copy{padding:62px 7vw!important}
}
@media(max-width:700px){
 .ca02-mast-inner{min-height:77px;gap:12px}
 .ca02-brand{padding-left:46px}.ca02-brand::before{width:35px;height:35px}
 .ca02-mast .ca02-brand-title{font-size:clamp(19px,6vw,28px)!important}
 .ca02-brand-kicker{font-size:7px;letter-spacing:.08em}
 .ca02-hero{min-height:610px!important}
 .ca02-hero .wp-block-cover__inner-container{width:calc(100% - 44px)!important}
 .ca02-hero-copy{padding:110px 0 90px!important}
 .ca02-hero .ca02-hero-title{font-size:clamp(34px,9vw,45px)!important;line-height:1.82!important;letter-spacing:.12em!important}
 .ca02-hero .ca02-hero-description{font-size:12px;line-height:2.3!important}
 .ca02-intro{grid-template-columns:1fr;gap:10px;padding:69px 0 75px!important}
 .ca02-display-heading{font-size:clamp(27px,8vw,36px)!important}
 .ca02-journal-section{padding:70px 0 83px!important}
 .ca02-section-title{font-size:56px!important;margin-bottom:32px!important}
 .ca02-story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .ca02-story-card:nth-child(1){grid-column:1/-1}.ca02-story-card:nth-child(2),.ca02-story-card:nth-child(3){padding-top:0}
 .ca02-story-card:nth-child(1) .ca02-story-media{aspect-ratio:5/3.3}
 .ca02-story-card:nth-child(2) .ca02-story-media,.ca02-story-card:nth-child(3) .ca02-story-media{aspect-ratio:4/5}
 .ca02-story-title{font-size:15px!important}.ca02-story-details{padding:14px 1px 0}.ca02-story-details p{font-size:11px}
 .ca02-atelier{grid-template-columns:1fr;gap:30px;padding:75px 0!important}
 .ca02-atelier-image{height:330px}.ca02-at-text{padding:0!important}
 .ca02-shop-hero{grid-template-columns:1fr}
 .ca02-shop-photo{height:320px;min-height:0}
 .ca02-shop-hero-copy{padding:68px 25px 70px!important;min-height:350px}
 .ca02-shop-hero-copy::before{width:255px;height:280px;right:-105px;top:-60px;opacity:.62}
 .ca02-collection-stage{padding:68px 0 81px!important}
 .ca02-collection-stage::after{width:210px;right:-98px;top:-55px}
 .ca02-product-grid{gap:15px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .ca02-product-card:nth-child(3){grid-column:1/-1;max-width:calc(50% - 8px)}
 .ca02-product-image{border-width:7px}.ca02-product-card h3{font-size:16px!important}.ca02-product-placeholder{font-size:71px}
 .ca02-reading-band{padding:72px 0 80px!important}
 .ca02-reading-inner{grid-template-columns:1fr;gap:35px}
 .ca02-reading-image{height:275px}.ca02-existing-home{padding:62px 0 75px!important}
 .ca02-page-frame{padding:40px 0 55px!important}.ca02-page-body{font-size:15px;line-height:1.82}
 .ca02-apo-page .apo-shelf-page{padding-top:24px}.ca02-apo-page .apo-shelf-page>h1{font-size:68px!important;margin-bottom:35px!important}
 .ca02-apo-page .apo-shelf-tree li{padding:19px 0}.ca02-apo-page .apo-shelf-tree a{font-size:17px}
 .ca02-post-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px!important}
 .ca02-journal-archive{padding:60px 0 70px!important}
 .ca02-single{padding:60px 0 80px!important}
 .ca02-single-title{font-size:clamp(27px,7.4vw,41px)!important}
 .ca02-collection-hero{padding:60px 0!important}
 .ca02-footer{padding:47px 22px 25px!important}
}
@media(max-width:420px){
 .ca02-brand-kicker{display:none}
 .ca02-mast .ca02-brand-title{font-size:clamp(19px,6vw,25px)!important}
 .ca02-story-grid{gap:15px}.ca02-story-details .ca02-eyebrow{font-size:9px!important}
 .ca02-story-title{font-size:14px!important}
 .ca02-product-card .ca02-eyebrow{font-size:9px!important}
 .ca02-post-grid{grid-template-columns:1fr!important;gap:28px!important}
 .ca02-collection-hero::after{right:-60px;opacity:.16}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ca02-link,.ca02-story-image,.ca02-product-image img{transition:none}}
/* Archive fallback: some existing sites do not assign featured images to every post. */
.ca02-post-tile:not(:has(.wp-block-post-featured-image img))::before{
 content:'✧';display:grid;place-items:center;aspect-ratio:4/4.6;margin:0 0 18px;
 font:clamp(76px,9vw,123px)/1 var(--ca-roman);color:#d7c59b;
 background:radial-gradient(circle at 72% 25%,#b8a27c80,transparent 42%),linear-gradient(140deg,var(--ca-pine),#829280);
 border:12px solid color-mix(in srgb,var(--ca-ivory) 91%,white);
}
.ca02-post-tile:nth-child(2n):not(:has(.wp-block-post-featured-image img))::before{background:linear-gradient(145deg,#987961,#e0d1b4)}

/* v0.3.1: text-first editorial article, restoring v9's composed typography. */
.ca02-story-text-card{min-width:0}
.ca02-story-letterpress{box-sizing:border-box;display:flex;flex-direction:column;position:relative;overflow:hidden;isolation:isolate;min-height:360px;height:100%;padding:clamp(26px,3.2vw,46px);background:linear-gradient(155deg,#faf8f1 12%,#f0e9dc 100%);border:1px solid #c8bca3;color:var(--ca-ink)!important;text-decoration:none!important;box-shadow:inset 0 0 0 12px #f7f2e9, inset 0 0 0 13px #b3a18562}
.ca02-story-letterpress::after{content:'';pointer-events:none;position:absolute;z-index:-1;bottom:-80px;right:-92px;width:270px;height:270px;background:url('../images/makie-vine.svg') center/contain no-repeat;opacity:.20;transform:rotate(18deg)}
.ca02-story-letterpress:hover{border-color:var(--ca-gold)}
.ca02-letterpress-top{display:flex;justify-content:space-between;gap:12px;align-items:center;font:600 10px/1.5 var(--ca-sans);letter-spacing:.17em;color:var(--ca-copper)}
.ca02-letterpress-top time{font-weight:400;letter-spacing:.04em;color:#888074}
.ca02-letterpress-smallline{display:block;width:50px;height:1px;background:var(--ca-gold);margin:clamp(26px,4vw,42px) 0 25px}
.ca02-letterpress-title{display:block;font:400 clamp(20px,2.2vw,30px)/1.8 var(--ca-serif);letter-spacing:.055em;overflow-wrap:anywhere;margin:0 0 18px}
.ca02-letterpress-summary{font:400 12px/2.05 var(--ca-sans);color:var(--ca-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:50ch}
.ca02-letterpress-bottom{margin-top:auto;padding-top:38px;font:500 11px/1.7 var(--ca-sans);letter-spacing:.1em;color:var(--ca-copper)}
.ca02-letterpress-bottom span{padding-left:12px}
.ca02-story-grid.ca02-stories-1{grid-template-columns:minmax(0,740px);max-width:740px}
.ca02-story-grid.ca02-stories-2{grid-template-columns:1.15fr .85fr}
.ca02-story-grid.ca02-stories-1 .ca02-story-card,.ca02-story-grid.ca02-stories-2 .ca02-story-card:nth-child(2){padding-top:0}
.ca02-story-grid.ca02-stories-1 .ca02-story-letterpress{min-height:330px}
/* Original v9's boutique: photo, copper price, delicate gilding. */
.ca02-product-image{border-color:#eee9e0!important;background:#e6e2d7!important}
.ca02-product-image img{mix-blend-mode:multiply;background:transparent;position:relative;z-index:1}
.ca02-product-image::before{content:'';position:absolute;inset:18%;background:url('../images/makie-vine.svg') center/contain no-repeat;opacity:.16;z-index:0}
.ca02-product-card .ca02-price{margin:14px 0 5px!important;color:#7b424c;font-size:23px;line-height:1.4}
.ca02-product-demo .ca02-demo-label{color:#746c60;font-size:10px;border:0;padding:2px 0 0}
.ca02-collection-stage .ca02-eyebrow{color:#86505a!important}
.ca02-boutique-finale{position:relative;isolation:isolate;overflow:hidden;margin:0!important;background:#2d4035;color:#f4eee4;text-align:center;padding:90px 20px 93px!important}
.ca02-boutique-finale::before{content:'';position:absolute;z-index:-1;left:-100px;bottom:-135px;width:clamp(265px,42vw,435px);height:430px;background:url('../images/makie-vine.svg') center/contain no-repeat;opacity:.74;transform:rotate(185deg)}
.ca02-finale-inner{max-width:760px!important;margin-inline:auto!important;padding:0!important}
.ca02-finale-inner .ca02-eyebrow{color:#d3ae83!important}
.ca02-finale-inner .ca02-display-heading{color:#f4eee4!important;margin:22px 0!important}
.ca02-finale-copy{font:400 13px/2.4 var(--ca-sans);color:#d9d0c2;letter-spacing:.05em}
.ca02-finale-inner .ca02-link{color:#dec098!important;margin-top:22px}
/* Archive text-first placeholder is never a giant star. */
.ca02-post-tile:not(:has(.wp-block-post-featured-image img))::before{content:'THE JOURNAL';font:500 clamp(11px,1.5vw,16px)/1.5 var(--ca-roman);letter-spacing:.18em;color:var(--ca-copper);border:1px solid #bdab8a;background:linear-gradient(145deg,#faf8f0,#e9e1d2);box-shadow:inset 0 0 0 14px #f7f1e8,inset 0 0 0 15px #d4c9b38a;aspect-ratio:4/3.35}
@media(max-width:700px){
 .ca02-story-grid.ca02-stories-1,.ca02-story-grid.ca02-stories-2{grid-template-columns:minmax(0,1fr)}
 .ca02-story-grid.ca02-stories-2 .ca02-story-card{grid-column:1/-1}
 .ca02-story-letterpress{min-height:310px;padding:34px 29px}
 .ca02-letterpress-title{font-size:22px}
 .ca02-section-title{font-size:clamp(43px,12vw,56px)!important}
 .ca02-boutique-finale{padding:74px 24px 76px!important}
 .ca02-boutique-finale::before{width:300px;left:-125px;bottom:-130px;opacity:.48}
 .ca02-finale-copy{font-size:12px}
 .ca02-product-card .ca02-price{font-size:20px}
 .ca02-product-image::after{inset:9px}
}

/* Descriptive product-specific offline fallbacks. Original remote photos take precedence when available. */
.ca02-product-image-1{background:linear-gradient(140deg,#c1b28f,#eae4d6 60%,#baa287)!important}
.ca02-product-image-2{background:linear-gradient(160deg,#dbcfbc,#c8bfb0 60%,#9aa898)!important}
.ca02-product-image-3{background:linear-gradient(160deg,#ccd7c9,#e3d9ca 54%,#b9a98f)!important}
.ca02-product-demo .ca02-product-image img.ca02-offline-image{visibility:hidden!important}
.ca02-product-image-1::before,.ca02-product-image-2::before,.ca02-product-image-3::before{display:none}
/* Keep the final boutique headline composed as one phrase on narrow phones. */
.ca02-finale-inner .ca02-display-heading{font-size:clamp(25px,5vw,43px)!important;letter-spacing:.09em!important;overflow-wrap:normal}
@media(max-width:700px){.ca02-boutique-finale::before{bottom:-178px;opacity:.44}}


/* ------------------------------------------------------------------
 * v0.3.2 原本回帰 — v9 literary atelier + collection with burgundy warmth
 * Reference: v9 HTML concept and user-confirmed 393 px mobile screenshots.
 * No giant numbers, no sample overlays, no blanket image substitutions.
 * ------------------------------------------------------------------ */
:root{
  --ca-wine:#593e47;
  --ca-wine-shadow:#3b3038;
  --ca-mahogany:#76504a;
  --ca-warm-gold:#b49770;
  --ca-burnished:#9f655e;
  --ca-copper:var(--wp--preset--color--copper,#9f655e);
}
/* Original green stays ink-dark while wine/burnished copper supplies warmth. */
.ca02-mast{background:#f8f7f2;border-bottom:1px solid #c4b39575}
.ca02-mast .ca02-brand-kicker,.ca02-mast .wp-block-navigation-item__content:hover{color:var(--ca-burnished)!important}
.ca02-brand::before{background:radial-gradient(circle at 30% 25%,#dab88a,#a26b52 52%,#533c3a 100%);border:1px solid #c8a279}
.ca02-hero .wp-block-cover__background{
 background:linear-gradient(90deg,#162b26d9 0%,#2b302c73 51%,#392e2b32 100%),linear-gradient(0deg,#1d2623a1,transparent 60%)!important;
}
.ca02-hero .ca02-eyebrow{color:#e8c59e!important}
.ca02-hero .ca02-link,.ca02-reading-copy .ca02-link{border-color:#c3a277!important}
.ca02-front .ca02-intro{padding-top:87px!important;padding-bottom:92px!important}
.ca02-intro .ca02-site-motto{color:var(--ca-mahogany)}
.ca02-journal-section{background:#eeeae1}
.ca02-journal-section .ca02-section-title{margin-bottom:33px!important}
/* Magazine-style rhythm. Text-only cards read like a miniature literary volume. */
.ca02-story-grid.ca02-stories-1{max-width:840px;grid-template-columns:minmax(0,1fr)}
.ca02-story-letterpress{background:linear-gradient(140deg,#faf8f2 12%,#f2eadd 90%);border-color:#bdad98}
.ca02-story-letterpress::before{content:'';position:absolute;inset:10px;border:1px solid #bdad986b;pointer-events:none}
.ca02-story-letterpress::after{opacity:.12}
.ca02-letterpress-top,.ca02-letterpress-bottom{color:var(--ca-mahogany)}
.ca02-letterpress-smallline{background:linear-gradient(90deg,#8c554d,#b79a6a)}
.ca02-story-letterpress:hover{border-color:var(--ca-mahogany)}
/* The collection on the home page becomes one measured editorial shelf,
   not the whole shop pasted between two unrelated areas. */
.ca02-home-collection{background:#f8f7f2!important;padding:73px 0 83px!important}
.ca02-home-collection .ca02-section-title{font-size:clamp(49px,7vw,74px)!important}
.ca02-home-collection .ca02-product-grid{margin-top:32px}
.ca02-collection-stage .ca02-eyebrow{color:#93564d!important}
.ca02-product-card .ca02-price{color:#884b51!important}
.ca02-product-image{background-color:#eee9df!important;border:10px solid #ebe5d9!important}
.ca02-product-image::after{border-color:#fdfaf4a1}
.ca02-product-card h3{letter-spacing:.06em}
/* Restored wine / mahogany from the earlier design reference.
   This is a backdrop, not a beige color wash or a replacement of the library. */
.ca02-shop-hero{background:linear-gradient(142deg,#4a343d 4%,#70504c 64%,#394039 100%)!important}
.ca02-shop-hero-copy{background:radial-gradient(ellipse at 94% 8%,#b58d7261,transparent 55%),linear-gradient(125deg,#563b46,#775149 70%,#42383d)!important}
.ca02-shop-hero-copy::before{opacity:.63}
.ca02-shop-hero-copy .ca02-eyebrow{color:#e3bc9b!important}
.ca02-shop-hero-copy .ca02-link{color:#f1d8b9!important}
.ca02-shop-photo{background:linear-gradient(125deg,#6a4e48,#9e8068 48%,#313e36)}
.ca02-shop-photo img{filter:saturate(.84) sepia(.09)}
.ca02-shop-editorial{background:radial-gradient(ellipse at 82% 9%,#976a5960,transparent 53%),linear-gradient(128deg,#513a44 2%,#72504e 67%,#3e363f 100%);color:#f7efe5;position:relative;margin:0!important;padding:92px 0 98px!important;overflow:hidden}
.ca02-shop-editorial::after{content:'';position:absolute;right:-115px;bottom:-155px;width:385px;height:385px;background:url('../images/makie-vine.svg') center/contain no-repeat;opacity:.27;transform:rotate(19deg);pointer-events:none}
.ca02-shop-editorial-inner{width:min(calc(100% - 76px),920px)!important;max-width:920px!important;margin:0 auto!important;padding:0!important;position:relative;z-index:1}
.ca02-shop-editorial .ca02-eyebrow{color:#e3bb99!important}
.ca02-shop-editorial .ca02-display-heading{color:#f8eee6!important;font-size:clamp(30px,4.1vw,51px)!important;line-height:1.8!important;margin:20px 0 23px!important}
.ca02-shop-editorial-text{color:#e6d9d3;font-size:clamp(12px,1.15vw,14px);line-height:2.6!important;letter-spacing:.09em}
/* v9 original boutique green flourish must remain, not pale leaf emoji. */
.ca02-boutique-finale{background:#30443a!important;padding:82px 20px 88px!important}
.ca02-boutique-finale::before{opacity:.74!important}
.ca02-finale-inner .ca02-display-heading{color:#f4f0e7!important;letter-spacing:.105em!important}
.ca02-finale-inner .ca02-link{color:#d9b994!important}
/* End of home: the library photo and pine room should lead into the footer. */
.ca02-reading-band{background:#283d35;padding:98px 0 100px!important}
.ca02-reading-image{background:linear-gradient(120deg,#283d35,#60463a)!important}
.ca02-reading-image img{filter:saturate(.86) sepia(.09)}
.ca02-existing-home{background:#efebe2;padding:64px 0 75px!important}
.ca02-existing-inner .ca02-display-heading{font-size:clamp(24px,3vw,32px)!important}
.ca02-footer{background:#27392f!important;color:#f4eee1}
.ca02-footer .ca02-footer-title{color:#f4eee1!important}
.ca02-footer-kicker{color:#d4ac86!important}
.ca02-footer .ca02-footer-tagline{color:#dfd5c7}
/* Offline remains context-specific artwork, never oversized stars. */
.ca02-product-demo .ca02-product-image img.ca02-offline-image{visibility:hidden!important}
@media(max-width:700px){
 .ca02-front .ca02-intro{padding:70px 0 76px!important}
 .ca02-home-collection{padding:67px 0 76px!important}
 .ca02-shop-editorial{padding:77px 0 83px!important}
 .ca02-shop-editorial-inner{width:calc(100% - 76px)!important}
 .ca02-shop-editorial .ca02-display-heading{font-size:clamp(33px,9vw,44px)!important}
 .ca02-shop-editorial-text{font-size:13px;line-height:2.45!important}
 .ca02-reading-band{padding:71px 0 82px!important}
 .ca02-reading-image{height:315px}
 .ca02-product-card:nth-child(3){max-width:calc(50% - 8px)}
}
@media(max-width:375px){.ca02-shop-editorial-inner{width:calc(100% - 48px)!important}}

/* Robust photo fallbacks never overwrite a successfully loaded photo. */
.ca02-atelier-image{background:linear-gradient(115deg,#40382f,#6b4d40)!important}
.ca02-shop-photo{background:linear-gradient(120deg,#523c39,#785b4c)!important}
.ca02-hero img.ca02-offline-image,.ca02-atelier-image img.ca02-offline-image,.ca02-reading-image img.ca02-offline-image,.ca02-shop-photo img.ca02-offline-image{opacity:0!important}
.ca02-shop-notes{background:#efebe1;padding:58px max(24px,calc((100% - 1180px) / 2))!important}

/* v0.3.3 — Keep original v9 photographic imagery. No illustrative shelf or hero assets. */
.ca02-hero .wp-block-cover__image-background {opacity:1;object-fit:cover;}
.ca02-reading-image img, .ca02-atelier-image img {opacity:1;display:block;object-fit:cover;}
.ca02-hero img.ca02-offline-image, .ca02-reading-image img.ca02-offline-image,
.ca02-atelier-image img.ca02-offline-image {opacity:0!important;}

/* Buyer-owned content, neutral empty state (no fake products/prices). */
.ca02-collection-empty { grid-column: 1/-1; margin: .5rem 0 1.5rem; padding: clamp(28px,5vw,54px); text-align: center; border:1px solid rgba(118,80,74,.22); background: rgba(255,255,255,.27); color: var(--ca-ink,#333); letter-spacing:.08em; }
.ca02-product-card:not(:has(.ca02-product-image)) { border-top:1px solid rgba(118,80,74,.22); padding-top:24px; }
.ca02-hero-title,.ca02-display-heading,.ca02-hero-description { white-space: normal; }

.ca02-product-no-photo {display:block;aspect-ratio:4/5;background:linear-gradient(135deg,#d9cbaf,#735149 62%,#283d35);}


/* v0.3.6: shop-source cards and native page content only. All non-shop templates unchanged. */
.ca02-product-card{min-width:0}
.ca02-product-card .ca02-product-image{display:block;overflow:hidden;position:relative}
.ca02-product-card .ca02-product-image img{width:100%;height:100%;object-fit:cover}
.ca02-product-card .ca02-product-image a{display:block;width:100%;height:100%}
.ca02-product-card .ca02-product-image a:focus-visible,.ca02-product-card .ca02-small-link:focus-visible{outline:2px solid var(--ca-copper);outline-offset:4px}
.ca02-shop-card-desc{font-size:12px;line-height:1.95;color:var(--ca-muted);margin:8px 0!important}
.ca02-product-card .ca02-small-link{display:inline-flex;align-items:center;gap:.3em;margin-top:12px}
.ca02-shop-placeholder{height:100%;width:100%;display:grid;place-items:center;padding:24px;text-align:center;color:#593e3b;font:400 clamp(18px,2.2vw,30px)/1.5 var(--ca-serif);background:linear-gradient(135deg,#eadfd1,#d5c0b1);overflow-wrap:anywhere}
.ca02-product-card .ca02-price{font-variant-numeric:tabular-nums}
.ca02-collection-empty{max-width:650px;padding:32px;margin:12px 0 18px;background:#fffaf4;border:1px solid #c6ad8b5c;font-size:14px;color:#665b50;line-height:1.9}
.ca02-shop-notes :is(img,iframe,video){max-width:100%}
.ca02-shop-notes img{height:auto}
@media(max-width:600px){.ca02-product-card .ca02-small-link{min-height:32px}.ca02-collection-stage .ca02-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ca02-product-card{width:100%;max-width:100%}.ca02-product-card h3{overflow-wrap:anywhere}.ca02-shop-card-desc{font-size:11px}}

/* A blank source selection means pure Gutenberg shop design with no auto-generated grid. */
.ca02-home-collection:not(:has(.ca02-product-grid)),.ca02-standalone-shop .ca02-collection-stage:not(:has(.ca02-product-grid,.ca02-collection-empty)){display:none!important}

/* v0.3.7: photo-less products become intentional text cards, not duplicate-title fake imagery. */
.ca02-product-card.ca02-product-card--text{background:linear-gradient(140deg,#eee5d8,#f9f6ee 75%);border:1px solid #b0957159;padding:clamp(18px,2.7vw,30px)!important;min-height:205px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;box-sizing:border-box}
.ca02-product-card--text h3{margin:6px 0 14px!important;font-size:clamp(17px,2vw,23px)!important}
.ca02-product-card--text .ca02-small-link{align-self:flex-start;margin-top:auto;padding-top:16px}
.ca02-product-card--text .ca02-price{margin-top:18px}
