/*
Theme Name: xRoss Mall
Description: 本・楽器・PC・ホビーの専門店入口を備えた、WooCommerce対応モールテーマ。
Version: 1.0.10
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: xross-mall
License: GPL-2.0-or-later
*/
:root{--bg:#080d10;--surface:#11191f;--text:#f4f1e9;--muted:#c2c5c7;--gold:#dbc092;--line:#766c57}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.8 "Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--gold)}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #98702b;outline-offset:2px}h1,h2,h3,p{margin-top:0}ul{padding-left:1.3em}.screen-reader-text,.skip-link{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link:focus{position:fixed;top:10px;left:10px;width:auto;height:auto;clip-path:none;background:#fff;color:#111;padding:12px;z-index:9999}
.site-header{position:sticky;top:0;z-index:50;min-height:72px;background:rgba(7,13,18,.97);display:flex;align-items:center;gap:26px;padding:10px 28px;border-bottom:1px solid #293239}.admin-bar .site-header{top:32px}.brand{white-space:nowrap;font-family:Georgia,"Times New Roman",serif;line-height:1.2}.brand span{font-size:35px}.brand small{font-size:18px}.mall-nav{margin-left:auto}.nav-links{display:flex;gap:24px;list-style:none;margin:0;padding:0;font-size:12px}.mall-search{display:flex;align-items:center;border-radius:30px;background:#303741;overflow:hidden;min-width:170px;width:250px}.mall-search input{width:100%;min-width:0;color:white;background:transparent;border:0;padding:10px 18px}.mall-search input::placeholder{color:#d0d1d5}.mall-search button{color:white;background:transparent;border:0;padding:0 16px;font-size:30px;line-height:1.3}.account-links{display:flex;gap:20px;font-size:12px;white-space:nowrap}.cart-count{display:inline-flex;justify-content:center;align-items:center;width:20px;height:20px;background:#c24445;border-radius:50%;color:white;font-size:11px}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--text);padding:5px 10px}
.hero{position:relative;min-height:480px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:#0b151d}.hero::before,.hero::after{content:"";position:absolute;inset:0;pointer-events:none}.hero::before{background-image:url('assets/images/hero-left.jpg'),url('assets/images/hero-right.jpg');background-position:left center,right center;background-size:36% 100%,36% 100%;background-repeat:no-repeat}.hero::after{background:linear-gradient(90deg,rgba(5,11,17,.05),rgba(5,11,17,.35) 23%,#0b151d 36%,#0b151d 64%,rgba(5,11,17,.35) 77%,rgba(5,11,17,.05)),linear-gradient(0deg,#080d10,transparent 20%)}.hero:has(.hero-custom)::before{display:none}.hero:has(.hero-custom)::after{background:linear-gradient(90deg,rgba(0,0,0,.15),rgba(0,0,0,.7),rgba(0,0,0,.15)),linear-gradient(0deg,#080d10,transparent 40%)}.hero-custom{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-copy{position:relative;z-index:2;max-width:670px;padding:25px 20px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.05;margin:0 0 22px}.hero h1>span{display:block;font-size:104px;color:var(--gold)}.hero h1>small{display:block;font-size:54px}.hero h2{font-size:25px;letter-spacing:.1em;margin-bottom:16px}.hero p{max-width:490px;margin:0 auto 24px;font-size:14px;line-height:1.9}.outline-button{display:inline-block;border:1px solid var(--line);padding:9px 22px;background:rgba(5,9,12,.65);text-align:center;font-size:12px;letter-spacing:.07em;transition:background .2s,border-color .2s}.outline-button:hover{background:#24201a;border-color:var(--gold)}.hero .outline-button{min-width:250px}
.section-shell{max-width:1500px;margin:0 auto;padding:24px 28px}#shops,#arrivals{scroll-margin-top:90px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.section-heading h2{font:24px/1.4 Georgia,serif;letter-spacing:.13em;margin:0;color:#f4e8d5}.section-heading h2 small{font:12px "Yu Gothic",sans-serif;letter-spacing:0;margin-left:14px}.section-heading>a{font-size:12px;border-bottom:1px solid var(--line)}.section-heading.centered{display:block;text-align:center;margin-bottom:18px}.section-heading.centered h2{letter-spacing:.25em}.section-heading.centered p{margin:6px 0 0}.shop-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.shop-card{position:relative;background:#0b0b0a;border:1px solid var(--line);overflow:hidden;min-width:0}.shop-card>img{display:block;width:100%;height:230px;object-fit:cover}.shop-card-copy{position:relative;padding:18px 14px;background:linear-gradient(0deg,#090b0b 50%,rgba(9,11,11,.84));margin-top:-35px}.shop-card h3{font:clamp(14px,1.55vw,22px)/1.3 Georgia,serif;white-space:nowrap;margin:0 0 8px}.shop-card p{font-size:11px;min-height:22px;margin:0 0 14px}.shop-card .outline-button{display:block;padding:7px 4px;white-space:nowrap}.shop-pending{display:block;text-align:center;border:1px solid #403c33;padding:7px;color:var(--muted);font-size:12px}.arrivals{background:radial-gradient(ellipse at top left,#3c3226,transparent 65%);padding-top:20px;padding-bottom:28px}.arrival-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.arrival-card{min-width:0}.product-photo{position:relative;overflow:hidden;background:#eee;aspect-ratio:1.25}.product-photo img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .2s}.arrival-card a:hover img{transform:scale(1.04)}.condition{position:absolute;left:5px;bottom:5px;line-height:1.4;padding:0 6px;color:white;font-weight:bold}.condition.new{background:#b92933}.condition.used{background:#086d9c}.sold-out{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.6);color:white;font-weight:bold}.arrival-card h3{font-size:12px;font-weight:400;line-height:1.5;margin:8px 0 3px}.arrival-card .price{font-size:14px;font-weight:bold}.price del{color:var(--muted);font-size:.85em}.price ins{text-decoration:none}.empty-message{padding:32px 16px;text-align:center;border:1px solid #504b41;color:var(--muted)}.admin-hint{font-size:12px;color:var(--gold)}
.service-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 36px;margin:12px 28px 26px;border:1px solid #53565a;max-width:1444px}.service-strip>div{display:flex;align-items:center;justify-content:center;gap:16px}.service-strip>div>span{font-size:36px;color:#e8e4da}.service-strip p{margin:0}.service-strip strong{display:block;font-size:13px}.service-strip small{display:block;font-size:11px;color:var(--muted)}.site-footer{padding:30px 28px;background:#070e15;border-top:1px solid #15212c;display:flex;flex-wrap:wrap;align-items:center;gap:20px}.site-footer nav{margin-left:auto}.footer-links{display:flex;flex-wrap:wrap;list-style:none;gap:14px;margin:0;padding:0;font-size:11px}.permit,.copyright{width:100%;font-size:11px;color:var(--muted);margin:0}.copyright{text-align:right}.content-shell{max-width:1240px;margin:0 auto;padding:42px 28px;min-height:55vh}.content-shell h1{font-size:28px;line-height:1.5}.page-content{margin-bottom:35px}.page-content a{color:var(--gold);text-decoration:underline}.page-content table{border-collapse:collapse;width:100%}.page-content td,.page-content th{border:1px solid var(--line);padding:12px}.content-shell input:not([type=checkbox]):not([type=radio]):not([type=submit]),.content-shell select,.content-shell textarea{background:#fff;color:#171717;border:1px solid #999;padding:10px;border-radius:2px}.content-shell .button,.content-shell button,.content-shell input[type=submit]{background:#d6bb8d;color:#15191d;border:0;border-radius:2px;padding:10px 18px;font-weight:600}
.woocommerce .woocommerce-breadcrumb,.woocommerce .woocommerce-result-count{color:var(--muted)}.woocommerce ul.products li.product .price{color:var(--gold)}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--gold)}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px;color:var(--text)}.woocommerce ul.products li.product a img{background:white;aspect-ratio:1;object-fit:contain}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:#d6bb8d;color:#15191d;border-radius:2px}.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt{background:#d6bb8d;color:#15191d}.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover,.woocommerce input.button.alt:hover{background:#f0d5a8;color:#15191d}.woocommerce div.product .woocommerce-tabs ul.tabs li{background:#182128;border-color:#51606a}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#080d10;color:var(--gold)}.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--text)}.woocommerce table.shop_table{border-color:#58646c}.woocommerce .woocommerce-info,.woocommerce .woocommerce-message,.woocommerce .woocommerce-error{background:#e9e6de;color:#15191d}.woocommerce .woocommerce-info a,.woocommerce .woocommerce-message a,.woocommerce .woocommerce-error a{color:#69491b}.woocommerce-checkout #payment{background:#17212a}.woocommerce-checkout #payment div.payment_box{background:#e9e6de;color:#15191d}.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{border-color:#58646c}.woocommerce div.product div.images .flex-control-thumbs li{opacity:1}.woocommerce div.product div.images .flex-control-thumbs li img{opacity:1;filter:none}.woocommerce div.product div.images .flex-control-thumbs li img.flex-active{outline:2px solid var(--gold);outline-offset:-2px}.wc-block-components-text-input input,.wc-block-components-textarea,.wc-block-components-combobox input{color:#15191d!important;background:white!important}.wc-block-components-form .wc-block-components-text-input label{color:#525252}.wc-block-components-totals-wrapper{border-color:#58646c}.wc-block-components-button:not(.is-link){background:#d6bb8d;color:#15191d}.woocommerce form .form-row label{color:var(--text)}
@media(min-width:1500px){.service-strip{margin-left:auto;margin-right:auto}}
@media(max-width:1200px){.site-header{gap:16px;padding-left:20px;padding-right:20px}.brand span{font-size:29px}.brand small{font-size:15px}.nav-links{gap:14px}.mall-search{width:210px}.account-links{gap:12px}.shop-card-copy{padding:15px 10px}.shop-card>img{height:200px}.service-strip{padding:20px}}
@media(max-width:980px){.site-header{flex-wrap:wrap;gap:12px}.mall-nav{order:4;width:100%;margin:0}.nav-links{justify-content:center}.mall-search{margin-left:auto}.hero{min-height:430px}.hero h1>span{font-size:86px}.hero h1>small{font-size:44px}.hero h2{font-size:21px}.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-card h3{font-size:18px}.shop-card>img{height:240px}.arrival-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-strip{grid-template-columns:repeat(2,1fr);gap:24px}.site-footer nav{margin-left:0}}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:600px){html{scroll-padding-top:155px}.site-header{padding:12px 16px;position:relative}.admin-bar .site-header{top:0}.brand span{font-size:28px}.brand small{font-size:14px}.menu-toggle{display:block;margin-left:auto}.mall-nav{display:none}.mall-nav.is-open{display:block}.nav-links{flex-wrap:wrap;justify-content:flex-start}.mall-search{order:5;width:100%;margin:0}.account-links{width:100%;justify-content:flex-end;order:6}.hero{min-height:410px}.hero::before{background-size:auto 100%,auto 100%;opacity:.45}.hero::after{background:linear-gradient(90deg,rgba(5,11,17,.6),#0b151d 35%,#0b151d 65%,rgba(5,11,17,.6))}.hero h1>span{font-size:75px}.hero h1>small{font-size:36px}.hero h2{font-size:18px;letter-spacing:.02em}.hero p{font-size:12px;max-width:330px}.section-shell{padding:22px 16px}.section-heading h2{font-size:20px}.section-heading h2 small{display:block;margin-left:0;font-size:11px}.section-heading.centered h2{font-size:20px;letter-spacing:.16em}.section-heading.centered p{font-size:12px}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shop-card>img{height:185px}.shop-card h3{font-size:14px;white-space:normal;min-height:36px;display:flex;align-items:center}.shop-card p{font-size:10px;min-height:36px}.shop-card-copy{padding:14px 10px}.shop-card .outline-button{font-size:11px;letter-spacing:0}.arrival-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.service-strip{margin:4px 16px 24px;padding:18px 12px;gap:20px 10px}.service-strip>div{gap:8px;justify-content:flex-start}.service-strip>div>span{font-size:25px}.service-strip strong{font-size:11px}.service-strip small{font-size:10px}.site-footer{padding:25px 16px}.copyright{text-align:left}.content-shell{padding:28px 16px}.woocommerce ul.products[class*=columns-] li.product{width:48%;margin-right:0}.woocommerce ul.products[class*=columns-] li.product:nth-child(2n){float:right}.woocommerce table.shop_table{font-size:12px}.woocommerce .woocommerce-ordering{float:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* xRoss：添付見本に合わせた金色のグラデーション */
.brand span,
.hero h1 > span {
  color: #dbc092;
}
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .brand span,
  .hero h1 > span {
    background-image: linear-gradient(
      180deg,
      #fff4d8 0%,
      #efd7a9 28%,
      #d5ad70 58%,
      #b88442 78%,
      #e8c58b 100%
    );
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
}


/* 左側のメイン画像・サムネイル・虫眼鏡を独立したギャラリーで表示。 */
.woocommerce div.product .xross-gallery.images { float:left; width:48%; margin-bottom:2em; }
.xross-main-photo { position:relative; height:480px; background:#10171c; overflow:hidden; }
.xross-main-image { display:block; width:100%; height:100%; object-fit:contain; }
.xross-hover-zoom { display:none; position:absolute; inset:0; background-color:#10171c; background-repeat:no-repeat; pointer-events:none; z-index:1; }
.xross-hover-zoom.is-visible { display:block; }
.woocommerce div.product .xross-magnifier { display:grid; place-items:center; position:absolute; top:14px; right:14px; width:44px; height:44px; padding:0; z-index:3; border:1px solid #d9c399; border-radius:50%; background:#fff6e6; color:#26211b; cursor:zoom-in; }
.xross-thumbnails { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-top:14px; }
.woocommerce div.product .xross-thumbnail { padding:3px; border:2px solid transparent; background:#152029; border-radius:0; cursor:pointer; }
.woocommerce div.product .xross-thumbnail.is-selected { border-color:#dbc092; }
.xross-thumbnail img { display:block; width:100%; height:85px; object-fit:contain; opacity:1; filter:none; }
.xross-gallery-hint { margin:8px 0 0; font-size:11px; color:#c2c5c7; }
.xross-photo-dialog { width:min(1100px,94vw); max-width:94vw; height:90vh; max-height:90vh; border:1px solid #867655; padding:45px 18px 18px; background:#080d10; color:white; }
.xross-photo-dialog::backdrop { background:rgba(0,0,0,.88); }
.xross-photo-dialog > img { display:block; width:100%; height:100%; object-fit:contain; }
.woocommerce div.product .xross-dialog-close { position:absolute; top:5px; right:8px; width:36px; height:36px; padding:0; background:#fff6e6; color:#26211b; font-size:28px; line-height:1; border-radius:50%; }
@media(max-width:768px) {
  .woocommerce div.product .xross-gallery.images { float:none; width:100%; }
  .xross-main-photo { height:400px; }
  .xross-thumbnail img { height:65px; }
}
@media(max-width:400px) { .xross-main-photo { height:340px; } }

/* 商品説明内に縦並びで配置された写真からも、左の画像を選択。 */
.woocommerce div.product .summary .woocommerce-product-details__short-description img { cursor:pointer; }
.woocommerce div.product .summary img.xross-side-selected { outline:2px solid #dbc092; outline-offset:3px; }

.woocommerce div.product .summary .woocommerce-product-details__short-description img,
.xross-thumbnail img { filter:none; opacity:1; }

.xross-main-image, .xross-photo-dialog > img, .xross-thumbnail img {
  filter:none !important;
  opacity:1 !important;
  image-rendering:auto;
}

/* 商品説明側の写真：PCは横4列、スマホは縦1列。 */
.xross-side-thumbnails { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:16px 0; }
.woocommerce div.product .xross-side-thumbnails > button { min-width:0; margin:0; padding:0; border:0; background:transparent; border-radius:0; cursor:pointer; }
.woocommerce div.product .xross-side-thumbnails img { display:block; width:100%; max-width:150px; height:auto; aspect-ratio:1; object-fit:cover; margin:0 auto; }
.xross-thumbnails { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:600px) {
  .xross-side-thumbnails { grid-template-columns:150px; }
  .xross-thumbnails { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

/* 全商品の写真を左下の4列へ統一。 */
.xross-thumbnails { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:600px) { .xross-thumbnails { grid-template-columns:repeat(4,minmax(0,1fr)); } }

/* 拡大画像の前後移動ボタン。 */
.woocommerce div.product .xross-dialog-nav { position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:44px; height:54px; padding:0; border:1px solid #dbc092; border-radius:6px; background:rgba(8,13,16,.85); color:#fff; font-size:32px; line-height:1; cursor:pointer; }
.xross-dialog-prev { left:8px; }
.xross-dialog-next { right:8px; }
.woocommerce div.product .xross-dialog-nav[hidden] { display:none; }
.xross-dialog-nav:focus-visible { outline:3px solid #dbc092; outline-offset:2px; }
.xross-photo-dialog > img { padding:0 44px; box-sizing:border-box; }
@media(max-width:600px) { .xross-photo-dialog { padding-left:4px; padding-right:4px; } .xross-photo-dialog > img { padding:0 38px; } .woocommerce div.product .xross-dialog-nav { width:34px; height:46px; } }
