/*
Theme Name: AIR BRIDGE Apple Style EC
Theme URI: https://example.com/air-bridge-apple-style-ec
Author: ChatGPT
Description: AIR BRIDGE株式会社向け。Apple.comのようなミニマルな余白・大型ヒーロー・商品カード構成を参考にしたWooCommerce対応ECテーマ。VAPE/OEM/卸売向け。
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: air-bridge-apple-style
*/
:root{--ab-black:#111;--ab-white:#fff;--ab-bg:#f5f5f7;--ab-card:#fbfbfd;--ab-text:#1d1d1f;--ab-muted:#6e6e73;--ab-line:rgba(0,0,0,.11);--ab-gold:#bf9658;--ab-gold2:#f5d99c;--ab-blue:#06c;--ab-radius:28px;--ab-max:1200px;--ab-shadow:0 30px 80px rgba(0,0,0,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ab-bg);color:var(--ab-text);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Arial,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.65;letter-spacing:.01em;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.ab-container{width:min(var(--ab-max),calc(100% - 40px));margin:0 auto}.screen-reader-text{position:absolute;left:-9999px}.ab-topbar{position:sticky;top:0;z-index:999;background:rgba(245,245,247,.82);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08)}.ab-nav{height:48px;display:flex;align-items:center;justify-content:space-between;gap:18px}.ab-brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.12em;font-size:13px;white-space:nowrap}.ab-mark{width:28px;height:28px;border:1px solid rgba(191,150,88,.55);border-radius:9px;display:grid;place-items:center;color:var(--ab-gold);font-weight:800;background:rgba(255,255,255,.7)}.ab-menu{display:flex;align-items:center;gap:24px;font-size:12px;color:#333}.ab-menu a{opacity:.9}.ab-menu a:hover{color:#000}.ab-actions{display:flex;gap:10px;align-items:center}.ab-nav-cta{font-size:12px;color:#fff;background:#0071e3;border-radius:999px;padding:6px 14px}.ab-cart{font-size:12px;color:#333}.ab-hero{position:relative;min-height:760px;background:linear-gradient(180deg,#fff 0%,#f5f5f7 86%);overflow:hidden;display:flex;align-items:flex-start;text-align:center}.ab-hero-inner{padding-top:84px;padding-bottom:48px}.ab-eyebrow{font-size:18px;font-weight:700;color:var(--ab-gold);letter-spacing:.08em;margin:0 0 10px}.ab-hero h1{font-size:clamp(50px,8vw,104px);line-height:.96;letter-spacing:-.065em;margin:0 auto 18px;max-width:980px;font-weight:800}.ab-lead{font-size:clamp(22px,3vw,32px);line-height:1.24;letter-spacing:-.035em;color:#333;margin:0 auto 24px;max-width:880px}.ab-cta-row{display:flex;gap:18px;justify-content:center;align-items:center;flex-wrap:wrap;margin:28px 0 16px}.ab-link-blue{color:#06c;font-size:21px;line-height:1.2}.ab-link-blue:after{content:'›';padding-left:6px}.ab-note{font-size:13px;color:var(--ab-muted);margin:16px auto 0;max-width:720px}.ab-device-stage{width:min(930px,92vw);height:365px;margin:54px auto 0;position:relative}.ab-device{position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:min(840px,90vw);height:280px;border-radius:44px;background:radial-gradient(circle at 35% 18%,rgba(255,255,255,.85),transparent 28%),linear-gradient(135deg,#232323,#070707 48%,#383228);box-shadow:0 55px 110px rgba(0,0,0,.25),inset 0 0 0 1px rgba(255,255,255,.12);overflow:hidden}.ab-device:before{content:'AIR BRIDGE';position:absolute;left:44px;top:38px;font-weight:800;letter-spacing:.26em;color:rgba(255,255,255,.86)}.ab-device:after{content:'分断のない未来へ';position:absolute;right:52px;bottom:36px;color:var(--ab-gold2);letter-spacing:.16em;font-weight:700}.ab-pods{position:absolute;inset:auto 0 18px 0;display:flex;justify-content:center;gap:22px}.ab-pod{width:58px;height:190px;border-radius:32px;background:linear-gradient(180deg,#f8f8f8,#bbb 45%,#1a1a1a);box-shadow:0 20px 40px rgba(0,0,0,.22);transform:rotate(-6deg)}.ab-pod:nth-child(2){height:220px;transform:rotate(3deg);background:linear-gradient(180deg,#fff,#d8d8d8 48%,#222)}.ab-pod:nth-child(3){transform:rotate(8deg)}.ab-section-title{text-align:center;padding:74px 20px 28px}.ab-section-title h2{font-size:clamp(38px,5vw,64px);line-height:1.04;letter-spacing:-.055em;margin:0 0 10px}.ab-section-title p{font-size:21px;color:var(--ab-muted);margin:0 auto;max-width:760px}.ab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 12px 12px}.ab-card{background:var(--ab-card);border-radius:var(--ab-radius);min-height:560px;overflow:hidden;text-align:center;position:relative;padding:48px 26px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.035)}.ab-card.dark{background:#000;color:#fff}.ab-card.gold{background:linear-gradient(160deg,#1b1712,#090909);color:#fff}.ab-card h3{font-size:clamp(34px,4vw,56px);line-height:1.02;letter-spacing:-.055em;margin:0 0 10px}.ab-card p{font-size:20px;line-height:1.35;color:var(--ab-muted);margin:0 auto 16px;max-width:520px}.ab-card.dark p,.ab-card.gold p{color:rgba(255,255,255,.72)}.ab-card .ab-link-blue{font-size:17px}.ab-product-art{position:absolute;left:50%;bottom:42px;transform:translateX(-50%);width:min(520px,78%);height:210px;border-radius:38px;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.85),transparent 27%),linear-gradient(135deg,#eee,#bdbdbd,#171717);box-shadow:0 42px 70px rgba(0,0,0,.18)}.dark .ab-product-art{background:radial-gradient(circle at 26% 15%,rgba(255,255,255,.28),transparent 30%),linear-gradient(135deg,#303030,#050505 62%,#1d160c)}.gold .ab-product-art{background:radial-gradient(circle at 32% 18%,rgba(245,217,156,.45),transparent 24%),linear-gradient(135deg,#4c3921,#0b0b0b 60%,#d1a869)}.ab-oem{background:#fff;padding:110px 0}.ab-oem-panel{background:#111;border-radius:38px;color:#fff;min-height:500px;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;box-shadow:var(--ab-shadow)}.ab-oem-copy{padding:70px}.ab-oem-copy h2{font-size:clamp(42px,5vw,76px);line-height:1;letter-spacing:-.065em;margin:0 0 22px}.ab-oem-copy p{font-size:21px;color:rgba(255,255,255,.72);margin:0 0 28px}.ab-oem-list{display:grid;gap:10px;margin-top:28px}.ab-oem-list span{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.88)}.ab-oem-visual{position:relative;background:radial-gradient(circle at center,#4d3a21,transparent 42%),linear-gradient(135deg,#000,#222)}.ab-oem-visual:before{content:'';position:absolute;inset:80px;border-radius:48px;background:linear-gradient(145deg,#f2f2f2,#8d8d8d 50%,#191919);box-shadow:0 50px 80px rgba(0,0,0,.35);transform:rotate(-9deg)}.ab-steps{padding:92px 0;background:var(--ab-bg)}.ab-steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ab-step{background:#fff;border-radius:24px;padding:30px;min-height:220px}.ab-step b{display:block;color:var(--ab-gold);font-size:14px;letter-spacing:.12em;margin-bottom:18px}.ab-step h3{margin:0 0 8px;font-size:22px;letter-spacing:-.03em}.ab-step p{margin:0;color:var(--ab-muted);font-size:15px}.ab-shop{padding:80px 0;background:#fff}.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0;padding:0;list-style:none}.woocommerce ul.products li.product{background:#f5f5f7;border-radius:24px;padding:24px;text-align:center}.woocommerce ul.products li.product .button,.button,.wp-block-button__link,.single_add_to_cart_button{border:0;background:#0071e3!important;color:#fff!important;border-radius:999px;padding:10px 18px!important;font-weight:600;display:inline-block}.woocommerce ul.products li.product img{border-radius:18px}.woocommerce div.product{max-width:var(--ab-max);margin:60px auto;padding:40px;background:#fff;border-radius:28px}.ab-contact{padding:110px 0;text-align:center;background:linear-gradient(180deg,#fff,#f5f5f7)}.ab-contact h2{font-size:clamp(42px,6vw,80px);line-height:1;letter-spacing:-.06em;margin:0 0 14px}.ab-contact p{font-size:22px;color:var(--ab-muted);margin:0 auto 28px;max-width:760px}.ab-contact-buttons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.ab-primary{background:#0071e3;color:#fff;border-radius:999px;padding:12px 22px;font-weight:700}.ab-secondary{background:#e8e8ed;color:#1d1d1f;border-radius:999px;padding:12px 22px;font-weight:700}.ab-footer{background:#f5f5f7;border-top:1px solid var(--ab-line);padding:34px 0 60px;font-size:12px;color:#6e6e73}.ab-footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:24px}.ab-footer h4{font-size:12px;color:#1d1d1f;margin:0 0 8px}.ab-footer p,.ab-footer ul{margin:0;padding:0;list-style:none}.ab-footer li{margin:5px 0}.ab-age{position:fixed;inset:0;background:rgba(0,0,0,.76);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}.ab-age.is-active{display:flex}.ab-age-box{max-width:520px;background:#fff;border-radius:28px;padding:34px;text-align:center;box-shadow:var(--ab-shadow)}.ab-age-box h2{font-size:32px;line-height:1.1;letter-spacing:-.04em;margin:0 0 10px}.ab-age-box p{color:var(--ab-muted);margin:0 0 20px}.ab-age-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.ab-age button{border:0;cursor:pointer}.ab-mobile-toggle{display:none;background:transparent;border:0;font-size:22px}@media(max-width:900px){.ab-nav{height:54px}.ab-mobile-toggle{display:block}.ab-menu{display:none;position:absolute;left:0;right:0;top:54px;background:rgba(245,245,247,.96);backdrop-filter:blur(20px);padding:18px 24px;flex-direction:column;align-items:flex-start;font-size:16px;border-bottom:1px solid var(--ab-line)}.ab-menu.is-open{display:flex}.ab-actions{display:none}.ab-hero{min-height:690px}.ab-device-stage{height:300px}.ab-device{height:220px;border-radius:34px}.ab-pod{height:150px;width:46px}.ab-pod:nth-child(2){height:180px}.ab-grid{grid-template-columns:1fr;padding:0 10px 10px}.ab-card{min-height:520px}.ab-oem-panel{grid-template-columns:1fr}.ab-oem-copy{padding:46px 28px}.ab-oem-visual{min-height:320px}.ab-steps-grid{grid-template-columns:1fr 1fr}.woocommerce ul.products{grid-template-columns:1fr 1fr}.ab-footer-grid{grid-template-columns:1fr}}@media(max-width:560px){.ab-container{width:min(100% - 28px,var(--ab-max))}.ab-hero-inner{padding-top:60px}.ab-lead{font-size:22px}.ab-link-blue{font-size:18px}.ab-device:before{left:22px;top:24px;font-size:12px}.ab-device:after{right:22px;bottom:24px;font-size:12px}.ab-card{border-radius:22px;min-height:480px;padding:38px 18px}.ab-product-art{height:170px;width:86%}.ab-section-title{padding-top:54px}.ab-steps-grid,.woocommerce ul.products{grid-template-columns:1fr}.ab-contact{padding:74px 0}}


/* AIR BRIDGE brand and image integration */
.ab-brand-logo{display:block;width:48px;height:48px;object-fit:contain;flex:0 0 auto}
.ab-brand-text{font-weight:800;letter-spacing:.12em;white-space:nowrap}
.ab-photo-stage{display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(65,178,255,.18),rgba(7,13,32,.04) 55%,transparent 75%)}
.ab-photo-stage img{display:block;width:min(760px,92%);height:auto;max-height:100%;object-fit:contain;filter:drop-shadow(0 30px 42px rgba(0,30,80,.24));animation:abFloat 5s ease-in-out infinite}
.ab-product-art{display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.68),rgba(210,227,255,.28))}
.ab-card.dark .ab-product-art,.ab-card.gold .ab-product-art{background:linear-gradient(145deg,rgba(7,14,34,.85),rgba(34,54,94,.55))}
.ab-product-art img{display:block;width:94%;height:94%;object-fit:contain;transition:transform .5s ease,filter .5s ease;filter:drop-shadow(0 18px 26px rgba(0,0,0,.18))}
.ab-card:hover .ab-product-art img{transform:scale(1.06) translateY(-4px);filter:drop-shadow(0 24px 34px rgba(0,0,0,.26))}
@keyframes abFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media(max-width:900px){.ab-brand-logo{width:38px;height:38px}.ab-brand-text{font-size:14px}.ab-photo-stage img{width:100%}.ab-card{min-height:500px}}
@media(max-width:560px){.ab-brand-logo{width:34px;height:34px}.ab-brand-text{font-size:12px;letter-spacing:.08em}.ab-photo-stage{height:270px}.ab-photo-stage img{max-height:250px}.ab-product-art{width:100%;height:190px}.ab-product-art img{width:100%;height:100%}}
@media(prefers-reduced-motion:reduce){.ab-photo-stage img{animation:none}.ab-product-art img{transition:none}}
