#seating{padding:90px 0;color:#514237;background:transparent}
#seating .seat-intro{text-align:center;color:#806d5d;font-size:14px;margin:18px auto 32px;line-height:1.7}
#seating .seat-container{width:min(95%,1400px)}
#seating .seat-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;align-items:start}
#seating .seat-list-wrap h3{font-size:17px;font-weight:400;letter-spacing:.12em;margin:0 0 5px;text-transform:uppercase}
#seating .seat-list-wrap p,#seating .seat-scroll-hint{font-size:12px;color:#8a786a;margin:0 0 12px;line-height:1.5}
#seating .seat-list{display:grid;gap:3px}
#seating .seat-list-button{display:flex;gap:12px;text-align:left;align-items:center;width:100%;min-height:29px;padding:4px 8px;border:0;border-radius:7px;background:transparent;color:#514237;font:inherit;font-size:12px;cursor:pointer}
#seating .seat-list-button span:first-child{color:#a5795c;min-width:20px}
#seating .seat-list-button:hover,#seating .seat-list-button.is-active{background:#ead9c5}
#seating .seat-map-side{min-width:0}
#seating .seat-scroll-hint{display:none}
#seating .seat-map-scroll{overflow-x:auto;overscroll-behavior-x:contain;padding:4px 0 8px;scrollbar-color:#c9ad96 transparent}
#seating .seat-map{position:relative;width:950px;height:710px;margin:auto;background:transparent}
#seating .seat-feature{position:absolute;top:12px;width:145px;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#866a55;font-size:10px;letter-spacing:.13em;white-space:nowrap}
#seating .projector{left:8px}#seating .couple{left:175px}#seating .stage{left:385px}#seating .music{left:700px}
#seating .projector-art{display:grid;place-items:center;width:80px;height:51px;border:3px solid #8d6750;color:#9a745a;font-size:18px;font-weight:300;position:relative}
#seating .projector-art:after{content:'';position:absolute;top:100%;width:4px;height:19px;background:#a78063}
#seating .couple-art{display:grid;place-items:center;width:90px;height:57px;border-radius:50%;background:#f0dfcb;border-bottom:7px solid #be9776;color:#a5785d;font-size:24px}
#seating .stage-art{display:grid;place-items:center;width:150px;height:95px;border-radius:75px 75px 18px 18px;background:#ead0bb;border-bottom:12px double #be9274;color:#875c45;font-size:28px;letter-spacing:.1em}
#seating .music-art{display:grid;place-items:center;width:115px;height:63px;border-bottom:7px solid #b88e73;color:#946b53;font-size:30px}
#seating .seat-zone-label{position:absolute;top:178px;transform:translateX(-50%);color:#80614d;font-size:12px;letter-spacing:.12em}
#seating .seat-table{position:absolute;transform:translate(-50%,-50%);width:115px;height:112px;padding:0;border:0;background:transparent;color:#514237;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
#seating .table-label{height:16px;white-space:nowrap;font-size:10px;color:#6b584a}
#seating .table-art{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;width:67px;height:67px;background:#fff8ee;border:1px solid #d7b99d;border-radius:50%;box-shadow:0 5px 12px #6b48351c}
#seating .table-art:before{content:'';position:absolute;inset:-9px;border:8px dotted #bd8e69;border-radius:50%;z-index:-1}
#seating .table-number{font-size:24px;line-height:1;color:#533b2e;font-weight:400}
#seating .table-flower{font-size:15px;line-height:1;color:#b58b74}
#seating .long .table-label{display:none}
#seating .long .table-art{width:62px;height:110px;border-radius:3px;background:#fff6e9}
#seating .long .table-art:before{border-radius:5px;inset:-8px -12px;border-width:7px}
#seating .seat-table:hover .table-art,#seating .seat-table.is-active .table-art{background:#ead1b7;outline:3px solid #9d6e52;outline-offset:4px}
#seating button:focus-visible{outline:3px solid #8d6047;outline-offset:3px}
#seating .seat-entry{position:absolute;bottom:0;left:50%;transform:translateX(-50%);color:#aa907b;font-size:10px;letter-spacing:.22em}
#seating .seat-selection{display:flex;flex-direction:column;gap:5px;min-height:76px;padding:15px 20px;border:1px solid #e1d0bf;border-radius:12px;color:#725847;font-size:13px}
#seating .seat-selection strong{font-size:14px;font-weight:500;letter-spacing:.04em}
@media(max-width:760px){#seating{padding:62px 0}#seating .seat-container{width:calc(100% - 36px)}#seating .seat-intro{font-size:13px;margin:14px auto 22px}#seating .seat-layout{display:flex;flex-direction:column;gap:20px}#seating .seat-list-wrap,#seating .seat-map-side{width:100%}#seating .seat-list-wrap h3{font-size:15px}#seating .seat-list{grid-template-columns:repeat(3,minmax(0,1fr));max-height:190px;overflow-y:auto;gap:4px}#seating .seat-list-button{min-height:44px;font-size:10px;gap:5px;padding:6px;border:1px solid #eaded1}#seating .seat-list-button span:first-child{min-width:16px}#seating .seat-scroll-hint{display:block}#seating .seat-map-scroll{border-top:1px solid #eaded1;border-bottom:1px solid #eaded1}#seating .seat-selection{margin-top:14px;font-size:12px}}

/* Seating artwork and selection state. */
#seating .seat-intro{max-width:36rem;margin-bottom:38px}
#seating .seat-list-wrap h3{color:#5d473a;letter-spacing:.10em}
#seating .seat-list-button{min-height:34px;transition:background .2s,color .2s}
#seating .seat-list-button.is-active{background:#684c3d;color:#fffaf5}
#seating .seat-list-button.is-active span:first-child{color:#f2ddc5}
#seating .seat-selection{margin:0 0 18px;border:0;border-left:2px solid #b58d70;border-radius:0;min-height:0;padding:5px 0 5px 16px}
#seating .seat-selection span{color:#806d5d;line-height:1.5}
#seating .seat-map{height:715px}
#seating .seat-feature{font-weight:500;color:#947760;gap:14px}
#seating .projector-art{width:87px;height:55px;border:2px solid #8d6750;box-shadow:inset 0 0 0 5px #f5e8da;font-size:16px;letter-spacing:.13em}
#seating .projector-art:before{content:'';position:absolute;top:100%;width:42px;height:19px;border-left:2px solid #a78063;border-right:2px solid #a78063;transform:perspective(30px) rotateX(15deg)}
#seating .projector-art:after{height:21px;width:2px}
#seating .couple-art{width:98px;height:49px;background:#f4e6d5;border:1px solid #cfb49b;border-bottom:5px solid #c69f82;box-shadow:0 6px 0 -3px #ead5c2}
#seating .couple-flower{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#af8068;background:#fff7ec;font-size:18px}
#seating .stage-art{width:154px;height:93px;border:1px solid #d4b49b;border-radius:80px 80px 22px 22px;background:linear-gradient(180deg,#f4dfce,#ead0bb);box-shadow:0 8px 0 -3px #d9b79d,0 14px 0 -5px #e8ccb5;color:#87614c;font-size:25px;line-height:1}
#seating .stage-art span{display:block;text-align:center}
#seating .stage-heart{font-size:19px;letter-spacing:0}
#seating .music-art{display:flex;justify-content:center;align-items:center;gap:10px;width:120px;height:64px;border-bottom:4px double #b88e73;color:#9c755b;font-size:27px}
#seating .music-art span:nth-child(2){font-size:34px;transform:translateY(-7px)}
#seating .seat-zone-label{top:181px;z-index:2;font-size:16px;font-weight:500;letter-spacing:.03em;color:#765540;white-space:nowrap}
#seating .seat-table .table-art{background:linear-gradient(145deg,#fffdf8,#f4e4d3);border-color:#dec6af;box-shadow:0 5px 12px #6b48351a;transition:background .2s,outline-color .2s}
#seating .table-art:before{content:none}
#seating .chairs{position:absolute;inset:0;z-index:-1;pointer-events:none}
#seating .chair{position:absolute;width:15px;height:15px;border:1px solid #b7825e;border-radius:5px;background:#d0a17e;box-shadow:inset 0 2px 0 #eed1b9}
#seating .round .chair-1{top:-13px;left:25px}#seating .round .chair-2{top:-6px;right:-6px;transform:rotate(45deg)}
#seating .round .chair-3{top:25px;right:-13px;transform:rotate(90deg)}#seating .round .chair-4{bottom:-6px;right:-6px;transform:rotate(135deg)}
#seating .round .chair-5{bottom:-13px;left:25px}#seating .round .chair-6{bottom:-6px;left:-6px;transform:rotate(45deg)}
#seating .round .chair-7{top:25px;left:-13px;transform:rotate(90deg)}#seating .round .chair-8{top:-6px;left:-6px;transform:rotate(135deg)}
#seating .long .chair{width:15px;height:22px;top:auto;border-radius:5px}
#seating .long .chair-1,#seating .long .chair-3,#seating .long .chair-5{left:-14px}
#seating .long .chair-2,#seating .long .chair-4,#seating .long .chair-6{right:-14px}
#seating .long .chair-1,#seating .long .chair-2{top:6px}#seating .long .chair-3,#seating .long .chair-4{top:42px}#seating .long .chair-5,#seating .long .chair-6{top:78px}
#seating .table-number{font-size:23px;font-weight:300}
#seating .table-flower{font-size:13px;color:#b78970}
#seating .round .table-label{position:absolute;top:-18px;left:50%;z-index:2;transform:translateX(-50%);height:auto;font-size:16px;font-weight:500;letter-spacing:.03em;color:#765540}
#seating .seat-table.is-active .table-art{background:#dfbda0;outline:3px solid #8e6049;outline-offset:3px}
@media(max-width:760px){
 #seating .seat-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:220px;gap:5px}
 #seating .seat-list-button{font-size:11px;padding:8px 10px;gap:9px}
 #seating .seat-selection{margin:0 0 16px;font-size:12px}
 #seating .seat-scroll-hint{margin:0 0 8px;color:#806d5d}
}
@media(prefers-reduced-motion:reduce){#seating .seat-table .table-art,#seating .seat-list-button{transition:none}}

/* Keep the complete plan visible, centred, and scaled to the available screen. */
#seating{padding:32px 0}
#seating .seat-intro{margin:10px auto 16px}
#seating .seat-layout{display:flex;flex-direction:column;align-items:center;gap:12px}
#seating .seat-list-wrap{width:min(100%,420px)}
#seating .seat-list-wrap label{display:block;margin-bottom:5px;color:#806d5d;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
#seat-picker{width:100%;min-height:44px;padding:9px 12px;border:1px solid #d8c4b1;border-radius:8px;background:#fffaf5;color:#514237;font:inherit;font-size:14px}
#seat-picker:focus-visible{outline:3px solid #8d6047;outline-offset:2px}
#seating .seat-map-side{width:100%;display:flex;flex-direction:column;align-items:center}
#seating .seat-selection{width:min(100%,420px);min-height:48px;margin:0 0 8px;padding:4px 0 4px 12px;font-size:12px}
#seating .seat-selection strong{font-size:13px}
#seating .seat-map-scroll{width:100%;position:relative;overflow:hidden;padding:0;border:0}
#seating .seat-map{position:absolute;top:0;left:50%;margin:0;transform:translateX(-50%) scale(var(--seat-scale,.35));transform-origin:top center}
@media(max-width:760px){#seating{padding:24px 0}#seating .seat-container{width:calc(100% - 32px)}#seating .seat-intro{font-size:12px;margin:8px auto 12px}#seating .seat-layout{gap:9px}#seating .seat-selection{margin:0 0 6px}#seating .seat-map-scroll{border:0}}
