/* Theme Name: Unlock Osaka Tours V2
Author: Unlock Osaka Tours
Version: 3.4.0
Description: Compact mobile-first CMS theme for Unlock Osaka Tours. */
:root{--red:#e2280f;--orange:#f04a1f;--ink:#050303;--muted:#6a5546;--line:#ead7b8;--bg:#fff7e8;--gold:#f5c51d;--gold-deep:#c78028;--navy:#0b436d;--pink:#f28aa0;--white:#fff;--paper:#fffdf7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.uot-wrap{width:min(1120px,calc(100% - 32px));margin:auto}.uot-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.uot-header-inner{min-height:72px;display:flex;align-items:center;gap:20px}.uot-logo img,.custom-logo{width:120px;display:block}.uot-nav{display:flex;gap:18px;align-items:center;margin-left:auto;font-size:14px;font-weight:650}.uot-nav a:hover{color:var(--red)}.uot-menu-btn{display:none;margin-left:auto;background:none;border:0;font-size:24px}.uot-cta,.uot-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:11px 18px;font-weight:750;border:1px solid transparent;transition:.2s}.uot-cta,.uot-btn.primary{background:var(--red);color:#fff}.uot-btn.light{background:#fff;border-color:var(--line)}.uot-btn:hover{transform:translateY(-1px)}.uot-hero{background:linear-gradient(135deg,#fff 0%,#fffef3 48%,#f3e5c4 100%);border-bottom:1px solid var(--line)}.uot-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:44px;padding:54px 0}.uot-hero h1{font-size:clamp(38px,6vw,72px);line-height:.98;margin:10px 0 18px;letter-spacing:-.04em}.uot-hero p{font-size:18px;color:#444;max-width:650px}.uot-hero-logo{text-align:center}.uot-hero-logo img{width:min(390px,100%);border-radius:28px;box-shadow:0 18px 60px rgba(0,0,0,.09)}.uot-eyebrow{display:inline-block;font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}.uot-actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.uot-actions.center{justify-content:center}.uot-trust{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:#555}.uot-section{padding:56px 0}.uot-section.alt{background:var(--bg)}.uot-section.cta{text-align:center;background:#171717;color:#fff}.uot-section.cta p{color:#ddd}.uot-section h2{font-size:clamp(28px,4vw,44px);line-height:1.1;margin:8px 0 12px;letter-spacing:-.025em}.uot-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.uot-section-head>a{font-weight:700;color:var(--red)}.uot-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.uot-card-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.uot-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 5px 20px rgba(0,0,0,.035)}.uot-card-body{padding:20px}.uot-card h3{font-size:20px;margin:8px 0}.uot-card p{color:#555;margin:8px 0 14px}.uot-pill{display:inline-block;background:var(--pink);color:#8b1b27;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.uot-route{font-size:13px}.uot-price{font-weight:850;font-size:17px;margin:12px 0}.uot-split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.uot-feature-list{display:grid;gap:12px}.uot-feature-list>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.uot-feature-list strong,.uot-feature-list span{display:block}.uot-feature-list span{color:#666;font-size:14px;margin-top:4px}.uot-content{max-width:900px}.uot-content h1{font-size:clamp(34px,5vw,58px);line-height:1.05}.lead{font-size:20px;color:#555}.uot-tour-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.uot-tour-facts>div{background:var(--bg);border-radius:14px;padding:16px}.uot-tour-facts strong,.uot-tour-facts span{display:block}.uot-tour-facts span{color:#555}.uot-form,.uot-panel,.uot-payment-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;max-width:900px}.uot-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.uot-form label{display:block;font-weight:700;font-size:13px;margin:8px 0 5px}.uot-form input,.uot-form select,.uot-form textarea,.uot-mini-order input,.uot-mini-order textarea{width:100%;border:1px solid #d8d3cf;border-radius:10px;padding:11px 12px;background:#fff;font:inherit}.uot-form textarea,.uot-mini-order textarea{min-height:110px}.uot-consent{display:flex!important;gap:8px;align-items:flex-start;font-weight:500!important}.uot-consent input{width:auto}.uot-notice{padding:16px;border-radius:12px;margin:14px 0}.uot-notice.success{background:#edf8ef;border:1px solid #b9dfc0}.uot-notice.error{background:#fff0f0;border:1px solid #efb2b2}.uot-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 18px}.uot-check{display:flex!important;gap:9px;padding:12px;border:1px solid var(--line);border-radius:12px;font-weight:500!important}.uot-check input{width:auto}.uot-check small{display:block;color:#777}.uot-fine{font-size:12px;color:#777}.uot-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.uot-qr{max-width:250px;border:1px solid var(--line);border-radius:14px}.uot-mini-order{display:grid;gap:8px}.uot-footer{background:#111;color:#eee;padding:38px 0;margin-top:0}.uot-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.uot-footer p,.uot-footer small{color:#bbb}.uot-mobile-book{display:none}.uot-hp{position:absolute!important;left:-9999px!important}
@media(max-width:900px){.uot-menu-btn{display:block}.uot-nav{display:none;position:absolute;left:16px;right:16px;top:70px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 20px 40px rgba(0,0,0,.08);flex-direction:column;align-items:stretch}.uot-nav.open{display:flex}.uot-header .desktop{display:none}.uot-hero-grid,.uot-split{grid-template-columns:1fr}.uot-hero-logo{order:-1}.uot-hero-logo img{width:210px}.uot-card-grid,.uot-card-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.uot-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.uot-footer-grid{grid-template-columns:1fr 1fr}.uot-mobile-book{display:block;position:fixed;left:12px;right:12px;bottom:12px;z-index:120}.uot-mobile-book a{display:block;text-align:center;background:var(--red);color:#fff;padding:13px;border-radius:999px;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.2)}body{padding-bottom:72px}}
@media(max-width:620px){.uot-wrap{width:min(100% - 22px,1120px)}.uot-header-inner{min-height:64px}.uot-logo img,.custom-logo{width:100px}.uot-hero-grid{padding:28px 0 34px;gap:20px}.uot-hero h1{font-size:42px}.uot-hero p{font-size:16px}.uot-section{padding:38px 0}.uot-section-head{align-items:start;flex-direction:column;gap:4px}.uot-card-grid,.uot-card-grid.compact,.uot-check-grid,.uot-form-grid,.uot-account-grid,.uot-tour-facts,.uot-footer-grid{grid-template-columns:1fr}.uot-card-body{padding:17px}.uot-form,.uot-panel,.uot-payment-box{padding:16px}.uot-actions .uot-btn{width:100%}.uot-trust{display:grid;gap:5px}.uot-footer{padding:32px 0 78px}}

/* Logo-derived palette enhancements */
.uot-header{border-bottom-color:var(--gold)}.uot-eyebrow{color:var(--brown)}.uot-cta,.uot-btn.primary{background:var(--red)}.uot-cta:hover,.uot-btn.primary:hover{background:var(--ink)}.uot-pill{background:#f3e6bf;color:var(--red)}.uot-card{border-color:#eadfc9}.uot-card:hover{box-shadow:0 12px 30px rgba(100,23,16,.10)}.uot-history{margin-top:16px;padding:16px;border-left:4px solid var(--gold);background:var(--bg);border-radius:0 12px 12px 0}.uot-history h4{margin:0 0 6px;color:var(--red)}.uot-unique{font-size:14px;color:#4d4039}.uot-attraction-story{margin:20px 0;padding:18px;background:var(--bg);border:1px solid var(--line);border-radius:16px}.uot-attraction-story h3{margin-top:0}.uot-history-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:620px){.uot-history-grid{grid-template-columns:1fr}}


/* V3.3 — Logo-led visual system */
body{background:var(--paper);color:var(--ink)}
.uot-header{background:rgba(255,247,232,.96);border-bottom:2px solid var(--gold);box-shadow:0 4px 18px rgba(5,3,3,.05)}
.uot-header-inner{min-height:78px}
.uot-logo{display:flex;align-items:center;flex:0 0 auto;background:transparent}
.uot-logo img{width:138px;height:auto;object-fit:contain;background:transparent!important}
.uot-nav{color:var(--ink)}
.uot-nav a{position:relative}
.uot-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:linear-gradient(90deg,var(--red),var(--gold));transition:.2s}
.uot-nav a:hover:after{right:0}
.uot-nav a:hover{color:var(--red)}
.uot-cta,.uot-btn.primary{background:linear-gradient(135deg,var(--red),var(--orange));color:#fff;box-shadow:0 8px 18px rgba(226,40,15,.18)}
.uot-cta:hover,.uot-btn.primary:hover{background:var(--ink)}
.uot-btn.light{background:var(--paper);border-color:var(--gold-deep);color:var(--ink)}
.uot-btn.light:hover{border-color:var(--red);color:var(--red)}
.uot-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff8e9 0%,#ffefcf 48%,#ffd868 100%);border-bottom:1px solid var(--gold-deep)}
.uot-hero:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-160px;top:-220px;background:rgba(226,40,15,.11)}
.uot-hero:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;left:-150px;bottom:-210px;background:rgba(11,67,109,.08)}
.uot-hero-grid{position:relative;z-index:1}
.uot-hero-logo img{width:min(430px,100%);border-radius:0;box-shadow:none;background:transparent!important;filter:drop-shadow(0 18px 18px rgba(5,3,3,.14))}
.uot-eyebrow{color:var(--red)}
.uot-section.alt{background:linear-gradient(180deg,#fff7e8 0%,#fff1d5 100%)}
.uot-section.cta{background:linear-gradient(135deg,#050303 0%,#1f1712 55%,#5b1b10 100%);border-top:4px solid var(--gold)}
.uot-section.cta .uot-btn.light{background:transparent;color:#fff;border-color:var(--gold)}
.uot-section-head>a{color:var(--navy)}
.uot-card{background:var(--paper);border-color:#ead1a8;box-shadow:0 7px 22px rgba(54,31,16,.06)}
.uot-card:hover{border-color:var(--gold-deep);box-shadow:0 14px 34px rgba(226,40,15,.10);transform:translateY(-2px)}
.uot-card{transition:transform .2s,box-shadow .2s,border-color .2s}
.uot-pill{background:#fff0bd;color:#9d2414;border:1px solid #f3d27a}
.uot-feature-list>div,.uot-form,.uot-panel,.uot-payment-box{background:var(--paper);border-color:#ead1a8}
.uot-feature-list>div{border-left:4px solid var(--gold)}
.uot-form input,.uot-form select,.uot-form textarea,.uot-mini-order input,.uot-mini-order textarea{background:#fffdf8;border-color:#ddc8a5}
.uot-form input:focus,.uot-form select:focus,.uot-form textarea:focus{outline:2px solid rgba(226,40,15,.16);border-color:var(--red)}
.uot-check{background:#fffdf8}
.uot-history,.uot-attraction-story{background:#fff4d9;border-color:#efd49e}
.uot-history{border-left-color:var(--red)}
.uot-history h4{color:var(--red)}
.uot-footer{background:#050303;border-top:5px solid var(--gold);color:#fff}
.uot-footer a:hover{color:var(--gold)}
.uot-mobile-book a{background:linear-gradient(135deg,var(--red),var(--orange));border:2px solid var(--gold);box-shadow:0 12px 32px rgba(5,3,3,.28)}
@media(max-width:900px){.uot-nav{background:#fff7e8;border-color:var(--gold-deep)}.uot-hero-logo img{width:260px}}
@media(max-width:620px){.uot-header-inner{min-height:66px}.uot-logo img{width:112px}.uot-hero-logo img{width:225px}.uot-hero-grid{padding-top:22px}.uot-hero h1{font-size:40px}}


/* V3.4 — Chrome/Android hard responsive patch */
html{width:100%;max-width:100%;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;max-width:100%;overflow-x:clip;min-width:0}
body *{min-width:0}
#wpadminbar{max-width:100vw}
.uot-wrap,.uot-header-inner,.uot-hero-grid,.uot-section,.uot-content,.uot-card-grid,.uot-split,.uot-form,.uot-panel,.uot-payment-box,.uot-account-grid,.uot-footer-grid{min-width:0;max-width:100%}
main,.site-main,.entry-content,.page-content,.wp-site-blocks,.wp-block-group,.wp-block-columns,.wp-block-column,.wp-block-cover,.wp-block-media-text{max-width:100%;min-width:0}
img,svg,video,canvas,audio,iframe,embed,object{max-width:100%;height:auto}
iframe,embed,object{width:100%}
figure{max-width:100%;margin-left:0;margin-right:0}
pre,.wp-block-code{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
code,kbd,samp{overflow-wrap:anywhere;word-break:break-word}
p,a,span,strong,small,h1,h2,h3,h4,h5,h6,li,td,th,label{overflow-wrap:anywhere;word-break:normal}
input,select,textarea,button{max-width:100%;min-width:0;font-size:16px}
select{width:100%}
textarea{resize:vertical}
table{width:100%;max-width:100%;border-collapse:collapse}
.entry-content table,.uot-content table,.uot-panel table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
.uot-card,.uot-card-body,.uot-feature-list>div,.uot-history,.uot-attraction-story{min-width:0;max-width:100%}
.uot-card-grid>*{min-width:0}
.uot-header-inner{width:100%}
.uot-nav{max-width:calc(100vw - 32px);overflow-y:auto}
.uot-logo{max-width:42vw}
.uot-logo img,.custom-logo{max-width:100%;height:auto}
.uot-actions>*{max-width:100%}
.uot-tour-facts>div,.uot-check,.uot-form-grid>div{min-width:0}
.uot-mini-order,.uot-mini-order>*{min-width:0;max-width:100%}
.uot-mobile-book{max-width:calc(100vw - 24px)}

@media(max-width:900px){
  .uot-header-inner{gap:10px;padding-left:0;padding-right:0}
  .uot-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0;border-radius:10px;color:var(--ink);background:rgba(255,255,255,.55)}
  .uot-nav{position:fixed;left:12px;right:12px;top:74px;max-height:calc(100dvh - 100px);z-index:9999;margin:0;padding:12px;overflow:auto;-webkit-overflow-scrolling:touch}
  .uot-nav a{display:block;width:100%;padding:11px 10px;border-radius:9px}
  .uot-nav a:after{display:none}
  .uot-hero-grid,.uot-split{width:100%}
  .uot-card-grid,.uot-card-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:620px){
  .uot-wrap{width:calc(100% - 20px);max-width:none}
  .uot-header-inner{width:100%;min-height:62px}
  .uot-logo{max-width:128px}
  .uot-logo img,.custom-logo{width:108px;max-width:108px}
  .uot-nav{top:66px;left:10px;right:10px;max-width:none}
  .uot-hero{width:100%;overflow:hidden}
  .uot-hero-grid{width:100%;padding:20px 0 30px;gap:16px}
  .uot-hero-logo img{width:min(210px,72vw);max-width:72vw}
  .uot-hero h1{font-size:clamp(34px,11vw,42px);line-height:1.02;letter-spacing:-.035em}
  .uot-hero p,.lead{font-size:16px}
  .uot-section{width:100%;padding:34px 0}
  .uot-section h2{font-size:clamp(27px,8vw,36px)}
  .uot-card-grid,.uot-card-grid.compact,.uot-form-grid,.uot-check-grid,.uot-account-grid,.uot-tour-facts,.uot-footer-grid,.uot-history-grid{grid-template-columns:minmax(0,1fr)!important}
  .uot-card,.uot-form,.uot-panel,.uot-payment-box{width:100%;max-width:100%}
  .uot-card-body{padding:16px}
  .uot-form,.uot-panel,.uot-payment-box{padding:15px}
  .uot-actions{display:grid;grid-template-columns:1fr;width:100%}
  .uot-actions .uot-btn,.uot-actions .uot-cta{width:100%}
  .uot-check{width:100%}
  .uot-check span{min-width:0}
  .uot-mobile-book{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));max-width:none}
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
}

@media(max-width:380px){
  .uot-wrap{width:calc(100% - 16px)}
  .uot-logo img,.custom-logo{width:96px;max-width:96px}
  .uot-menu-btn{width:40px;height:40px;min-width:40px}
  .uot-hero h1{font-size:33px}
  .uot-card-body,.uot-form,.uot-panel,.uot-payment-box{padding:13px}
}
