/*
Theme Name: Kabachan Hideaway
Description: かばちゃんの隠れ家 独立ブロックテーマ
Version: 1.3.0
Requires at least: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: kabachan-hideaway
*/
html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:#0c0d10 url('assets/brick.svg') repeat;color:#f5f4f8;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;line-height:1.9;margin:0}*{box-sizing:border-box}a{color:#c4f4ff;text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:3px solid #fff;outline-offset:5px}.kb-header,.kb-footer{max-width:660px;margin:auto;padding:26px 24px;text-align:center}.kb-header{font-size:12px;letter-spacing:.18em}.kb-header a{display:inline-block;margin:4px 10px}.kb-page{max-width:660px;margin:0 auto;padding:0 24px 60px}.kb-hero{text-align:center;padding:26px 0 45px}.kb-logo{width:154px;filter:drop-shadow(0 0 12px #64d9ff66)}.kb-hero h1{font-size:clamp(28px,7vw,43px);letter-spacing:.07em;line-height:1.5;text-shadow:0 0 15px #ef76c099;margin:12px 0}.kb-eyebrow{font-size:11px;letter-spacing:.25em;color:#a8dce6}.kb-panel{position:relative;margin:38px 0 0;padding:30px 25px;border:2px solid var(--neon,#85e5ff);border-radius:15px;background:#090b10eF;box-shadow:0 0 8px var(--glow,#4bcfff55),inset 0 0 12px #41bfff10}.kb-panel:before,.kb-panel:after{content:"";position:absolute;pointer-events:none;top:-14px;width:100px;height:70px;background:url('assets/ivy.svg') no-repeat center/contain}.kb-panel:before{left:-12px}.kb-panel:after{right:-12px;transform:scaleX(-1)}.kb-pink{--neon:#ff9ace;--glow:#ff43ad55}.kb-white{--neon:#e9edf7;--glow:#ffffff33}.kb-panel h2{font-size:26px;letter-spacing:.18em;text-align:center;margin:0 0 6px;color:var(--neon,#85e5ff);text-shadow:0 0 14px var(--glow,#4bcfff55)}.kb-sub{text-align:center;color:#b7b8c5;font-size:12px;margin-top:0}.kb-menu{padding:0;list-style:none}.kb-menu li{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #ffffff20;padding:12px 0}.kb-note{color:#d5b6c7;font-size:12px}.kb-calendar{background:#161922;border:1px solid #343a4b;border-radius:10px;padding:24px;text-align:center}.kb-calendar p{margin:8px 0}.kb-button{display:inline-block;background:#f4b2d5;color:#211320;border:1px solid #ffdbef;padding:12px 22px;border-radius:100px;text-decoration:none;font-weight:700;margin:10px 0;box-shadow:0 0 20px #ff7bc833}.kb-reserve{text-align:center}.kb-calendar iframe{width:100%;height:470px;border:0;background:#151820;color-scheme:dark}.kb-footer{font-size:12px;color:#b5b5c4;padding-bottom:50px}.kb-skip{position:absolute;left:12px;top:-100px;background:#fff;color:#000;padding:10px;z-index:9}.kb-skip:focus{top:12px}.kb-panel p{overflow-wrap:anywhere}@media(max-width:380px){.kb-page{padding-left:18px;padding-right:18px}.kb-panel{padding:28px 18px}.kb-menu li{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.kb-hero .kb-logo{margin:0 auto}.kb-logo img{display:block;width:100%;height:auto}.editor-styles-wrapper .kb-page{max-width:660px}

/* 1.1: supplied logo and approved neon direction */
body{background-color:#080707;background-image:radial-gradient(ellipse at 0 40%,#922d161f,transparent 55%),radial-gradient(ellipse at 100% 80%,#9d351621,transparent 50%),url('assets/brick.svg')}
.kb-page{max-width:800px;padding:0 28px 48px}.kb-header{max-width:800px;padding:15px 12px 8px}.kb-header a{color:#fff;font-size:11px;letter-spacing:.09em}.kb-hero{padding:8px 0 16px}.kb-hero .kb-logo{width:min(90%,410px);filter:drop-shadow(0 0 15px #ffb43a25)}.kb-hero h1{font-size:clamp(24px,6vw,36px);margin:8px 0}.kb-eyebrow{color:#fff;text-shadow:0 0 6px #28b8ff,0 0 14px #28b8ff}.kb-panel{--neon:#8eeaff;--glow:#00baff; margin-top:43px;padding:27px 25px 16px;border:3px solid #d9f7ff;border-radius:27px;background:linear-gradient(115deg,#07080cf5,#0b0d13ed);box-shadow:0 0 4px #fff,0 0 10px var(--glow),0 0 24px color-mix(in srgb,var(--glow) 48%,transparent),inset 0 0 9px var(--glow)}.kb-pink{--neon:#ffb4e4;--glow:#ff009d;border-color:#ffd4f1}.kb-white{--neon:#f4f4ff;--glow:#a4b7ff;border-color:#f6f6ff}.kb-panel h2{position:relative;z-index:1;display:table;max-width:calc(100% - 20px);margin:-49px auto 17px;padding:0 21px;background:#080c14;border:2px solid var(--neon);border-radius:12px;box-shadow:0 0 5px #fff,0 0 12px var(--glow),inset 0 0 8px var(--glow);font-size:clamp(19px,4.8vw,27px);font-weight:500;letter-spacing:.07em;line-height:1.7;color:#fff;text-shadow:0 0 6px var(--glow);text-align:center}.kb-panel:before,.kb-panel:after{top:-21px;width:105px;height:93px;filter:drop-shadow(0 2px 3px #000);z-index:2}.kb-panel:before{left:-16px}.kb-panel:after{right:-16px}.kb-sub{margin:0 0 9px;font-size:11px}.kb-menu{margin:8px 0}.kb-menu li{position:relative;align-items:baseline;padding:5px 0;border-bottom:1px dotted #ffffff45;font-size:15px;line-height:1.7}.kb-menu li span:first-child:before{content:'●';font-size:11px;color:#fff;text-shadow:0 0 5px #fff,0 0 10px var(--glow);margin-right:10px}.kb-menu li span:last-child{flex-shrink:0}.kb-note{font-size:11px;line-height:1.7;margin:10px 0 0}.kb-calendar{padding:21px 12px;background:linear-gradient(#101018,#090a0f);border-color:#737789;box-shadow:inset 0 0 17px #000}.kb-button{background:linear-gradient(#51002e,#26051c);border:2px solid #fff;color:#fff;box-shadow:0 0 5px #fff,0 0 12px #ff009d,inset 0 0 13px #ff009d;font-size:clamp(15px,4vw,23px);padding:9px 22px;text-shadow:0 0 6px #ff009d}.kb-footer a{display:inline-block;border:2px solid #ffc5eb;border-radius:50px;padding:10px 22px;color:#fff;text-shadow:0 0 6px #ff009d;box-shadow:0 0 12px #ff009d}.kb-footer{border-top:1px solid #8a4820;background:linear-gradient(#30140844,#060607)}
@media(max-width:480px){.kb-page{padding-left:20px;padding-right:20px}.kb-panel{padding:26px 16px 15px;border-radius:23px}.kb-menu li{font-size:12px;gap:8px}.kb-menu li span:first-child:before{margin-right:6px}.kb-panel:before,.kb-panel:after{width:72px;height:76px}.kb-panel h2{padding:1px 15px}.kb-hero p{font-size:12px}.kb-hero .kb-logo{width:92%}.kb-header a{margin:3px 7px}}

/* 1.2: approved top composition and desktop responsive layout */
.kb-page{max-width:1240px;width:100%;padding:0 40px 70px}.kb-header{max-width:1240px}.kb-hero{padding:0 0 14px}.kb-approved-hero{width:100%;margin:0 auto}.kb-hero-art{position:relative;aspect-ratio:941/265;overflow:hidden;background:#080504}.kb-hero-art img{display:block!important;width:100%!important;max-width:none!important;height:auto!important;margin:0!important}.kb-hero-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:12px 0;background:linear-gradient(#120805,#08080c);border-bottom:1px solid #6c2c1f}.kb-hero-facts p{margin:6px 0;padding:8px 12px;line-height:1.65;font-size:16px;text-align:center}.kb-hero-facts p+p{border-left:1px solid #ff8dd8;box-shadow:-4px 0 9px -7px #ff00a0}.kb-hero-facts strong{color:#ffd6ed}.kb-hero-facts small{font-size:11px;color:#c7bcc3}.kb-hero:has(.kb-approved-hero)>h1,.kb-hero:has(.kb-approved-hero)>.kb-eyebrow,.kb-hero:has(.kb-approved-hero)>p{display:none}.kb-panel{margin-top:54px;padding:32px 38px 24px}.kb-panel h2{margin-top:-55px;font-size:29px}.kb-menu li{font-size:18px;padding:7px 0}.kb-calendar{padding:30px}.kb-footer{max-width:none}.kb-footer p{font-size:15px}.kb-header a{font-size:13px;margin:8px 22px}
@media(min-width:1000px){.kb-hero-art{aspect-ratio:941/265}.kb-panel{margin-left:auto;margin-right:auto}.kb-panel .kb-menu{max-width:940px;margin-left:auto;margin-right:auto}.kb-panel>p:not(.kb-sub):not(.kb-note){font-size:18px}.kb-reserve .kb-button{min-width:350px}.kb-panel:before,.kb-panel:after{width:125px;height:110px}.kb-calendar iframe{height:560px}}
@media(max-width:767px){.kb-page{padding:0 18px 45px}.kb-header{padding:8px 0}.kb-header a{font-size:10px;margin:4px 9px}.kb-hero{margin-left:-18px;margin-right:-18px}.kb-hero-facts{grid-template-columns:repeat(2,minmax(0,1fr));padding:5px 10px}.kb-hero-facts p{font-size:12px;padding:7px 4px}.kb-hero-facts p:nth-child(3){border-left:0;box-shadow:none}.kb-hero-facts p:nth-child(n+3){border-top:1px solid #73324f}.kb-hero-facts small{font-size:10px}.kb-panel{margin-top:43px;padding:26px 16px 17px}.kb-panel h2{font-size:20px;margin-top:-49px}.kb-menu li{font-size:12px;padding:5px 0}.kb-calendar{padding:20px 10px}.kb-panel:before,.kb-panel:after{width:72px;height:76px}}

.kb-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}.kb-art-menu{position:absolute;z-index:3;top:0;right:0;width:11%;height:25%;display:block}.kb-art-menu:focus-visible{outline-offset:-4px}

/* Real WordPress editor/frontend parity */
.kb-hero .kb-hero-banner{display:block;width:100%;max-width:none;aspect-ratio:941/265;overflow:hidden;margin:0;background:#080504}.kb-hero-banner a{display:block}.kb-hero-banner img{display:block;width:100%!important;max-width:none!important;height:auto!important;margin:0}.editor-styles-wrapper .kb-page{max-width:1240px!important;width:100%}.kb-hero .kb-hero-facts>p{display:block}.kb-panel>h2.wp-block-heading{margin-block-start:-55px;margin-block-end:17px}.kb-hero-facts.wp-block-group{gap:0}.kb-hero-facts.wp-block-group>p{margin-top:6px;margin-bottom:6px}
@media(max-width:767px){.kb-panel>h2.wp-block-heading{margin-block-start:-49px}.editor-styles-wrapper .kb-page{max-width:100%!important}}

.kb-instagram{max-width:540px;margin:20px auto;text-align:center}.kb-instagram .instagram-media{width:100%!important;min-width:0!important;max-width:540px!important;margin:0 auto!important}.kb-instagram iframe{max-width:100%!important}.kb-instagram>blockquote{padding:20px;background:#fff;color:#111;border-radius:8px}.kb-instagram>blockquote a{color:#20345a}

/* Embedded Google Calendar is independent from the owner's app appearance. */
.kb-calendar iframe{color-scheme:light;background:#fff;filter:invert(1) hue-rotate(180deg) brightness(.88);border-radius:10px}

/* Instagram wider on desktop and edge-to-edge inside mobile neon frame. */
#instagram .kb-instagram{width:100%;max-width:760px;margin:20px auto 0}
#instagram .instagram-media{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
#instagram .kb-instagram>blockquote{padding:16px;margin:0!important}
@media(max-width:767px){#instagram.kb-panel{width:calc(100% + 24px);max-width:none;margin-left:-12px;margin-right:-12px;padding-left:7px;padding-right:7px}#instagram .kb-instagram{width:100%;max-width:none}#instagram .kb-sub,#instagram .kb-note{padding-left:9px;padding-right:9px}#instagram .kb-instagram>blockquote{padding:14px 8px}#instagram .kb-instagram>blockquote a{font-size:15px}}

@media(max-width:767px){#instagram.kb-panel:before{left:-4px}#instagram.kb-panel:after{right:-4px}}
