/* Scoped original booking layout */

#se-booking{font-family:Arial,Helvetica,sans-serif;max-width:1100px;margin:auto;padding:24px 14px;color:#33251f;box-sizing:border-box}#se-booking *{box-sizing:border-box}#se-booking .hero{background:linear-gradient(125deg,#5e2520,#a74928);color:white;border-radius:20px;padding:32px;margin-bottom:20px}#se-booking h1{font-size:clamp(29px,4vw,44px);margin:8px 0}#se-booking h2{font-size:22px;margin:0 0 15px}#se-booking p{line-height:1.5}#se-booking .tag{letter-spacing:2px;color:#ffcf8c;font-weight:bold;font-size:12px}#se-booking .panel{background:#fff;border:1px solid #eadfd7;border-radius:18px;padding:22px;margin:16px 0;box-shadow:0 4px 18px #522b1b0c}#se-booking .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#se-booking .tile{border:2px solid #e7d8cc;border-radius:13px;padding:15px;cursor:pointer;display:flex;align-items:center;gap:12px;min-height:90px;background:#fffdfa}#se-booking .tile:has(input:checked){border-color:#b34d2d;background:#fff4eb}#se-booking .tile:has(input:disabled){opacity:.55;cursor:not-allowed}#se-booking .tile input{accent-color:#a8492a;width:20px;height:20px;flex-shrink:0}#se-booking .tile strong{display:block;font-size:15px}#se-booking .tile small{display:block;color:#806b60;margin-top:5px;font-size:13px}#se-booking .price{margin-left:auto;white-space:nowrap;font-weight:bold;color:#8c3724}#se-booking .availability{display:block;font-size:12px;font-weight:bold;margin-top:6px;color:#806b60}#se-booking .availability.yes{color:#247548}#se-booking .availability.no{color:#b32624}#se-booking .options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}#se-booking label.field{font-weight:bold;font-size:13px;display:block}#se-booking input[type=date],#se-booking input[type=time],#se-booking input[type=text],#se-booking input[type=email],#se-booking input[type=tel],#se-booking select,#se-booking textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #cbb8a9;border-radius:9px;background:white;color:#342820;font:inherit}#se-booking textarea{min-height:75px;resize:vertical}#se-booking .staff{display:flex;gap:12px;flex-wrap:wrap}#se-booking .staff label{display:flex;align-items:center;gap:9px;padding:13px 16px;border:1px solid #decac0;border-radius:10px;cursor:pointer;flex:1;min-width:220px}#se-booking input[type=radio],#se-booking input[type=checkbox]{accent-color:#9d3f27}#se-booking .totals{background:#fbf3eb;border:1px solid #ead6bf;border-radius:13px;padding:18px}#se-booking .line{display:flex;justify-content:space-between;gap:15px;padding:8px 0}#se-booking .line span:last-child{text-align:right}#se-booking .big{font-size:23px;font-weight:800;color:#873620;border-top:1px solid #d7c2ad;margin-top:7px;padding-top:15px}#se-booking .notice{border-left:4px solid #bc7a34;background:#fffaee;padding:12px 14px;border-radius:6px;margin:14px 0;font-size:14px;line-height:1.5}#se-booking .status{border:1px solid #e3d5c8;background:#f4f0ec;border-radius:10px;padding:13px;margin-top:14px;font-size:14px;line-height:1.5}#se-booking .status.good{background:#eef8f1;border-color:#b7d9c1;color:#225e39}#se-booking .status.bad{background:#fff0ed;border-color:#e2aaa2;color:#972d25}#se-booking .btn{display:inline-block;text-decoration:none;background:#943f2b;color:#fff;border:0;border-radius:12px;padding:14px 22px;font-weight:bold;font-size:16px;cursor:pointer}#se-booking .btn:hover{background:#702d20;color:white}#se-booking .btn:disabled{opacity:.5;cursor:not-allowed}#se-booking .secondary{background:#eee2d9;color:#632d22}#se-booking .secondary:hover{background:#e5d2c5;color:#632d22}#se-booking .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}#se-booking .muted{font-size:13px;color:#745f55}#se-booking .agreement{font-weight:bold;color:#7a3424}#se-booking .steps{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0 20px}#se-booking .step{flex:1;min-width:135px;padding:11px;background:#f4ebe5;border-radius:9px;text-align:center;font-size:13px;font-weight:bold;color:#76574c}#se-booking .step.active{background:#943f2b;color:white}#se-booking .step.complete{background:#e9f5ed;color:#205c3c}#se-booking [hidden]{display:none!important}#se-booking .contract-box{border:1px solid #decac0;background:#fffdfa;border-radius:12px;padding:20px;max-height:500px;overflow:auto;white-space:pre-wrap;line-height:1.65;margin:14px 0}#se-booking .contract-box h3{margin:0 0 10px}#se-booking .signature{background:#fbf3eb;border:1px solid #ead6bf;border-radius:12px;padding:18px;margin-top:18px}#se-booking .foot{font-size:12px;color:#755f55}#se-booking .tick{display:flex;gap:9px;align-items:flex-start;font-size:14px;line-height:1.5}#se-booking .tick input{margin-top:4px} @media(max-width:650px){#se-booking .grid,#se-booking .options{grid-template-columns:1fr}#se-booking .panel{padding:16px}#se-booking .hero{padding:24px 18px}#se-booking .step{min-width:45%}}

/* Seven Ember Rentals — visual theme only. No booking functionality changed. */
#se-booking {
  --ember-bg:#100a08; --ember-panel:#20110c; --ember-panel2:#2c160e;
  --ember-gold:#e1a34b; --ember-light:#ffe2a6; --ember-copy:#fff0d9;
  --ember-muted:#cbb49b; --ember-orange:#d64b16;
  max-width:1100px; margin:0 auto; padding:30px 15px 60px;
  color:var(--ember-copy); background:transparent;
  font-family:Arial,Helvetica,sans-serif;
}
#se-booking .hero {
  position:relative; overflow:hidden; border:1px solid #b3762c;
  border-radius:7px; padding:clamp(29px,5vw,60px);
  background:
    radial-gradient(ellipse at 92% 70%,rgba(164,49,11,.48),transparent 51%),
    radial-gradient(circle at 90% 19%,rgba(255,160,51,.35) 0 2px,transparent 4px),
    radial-gradient(circle at 74% 55%,rgba(255,130,20,.35) 0 2px,transparent 4px),
    radial-gradient(circle at 22% 86%,rgba(255,175,58,.4) 0 2px,transparent 4px),
    linear-gradient(115deg,#100908,#251009 69%,#53200e);
  box-shadow:inset 0 0 0 7px rgba(10,6,4,.7),0 12px 35px #0004;
}
#se-booking .hero:before {content:"";position:absolute;inset:11px;border:1px solid rgba(231,166,70,.43);pointer-events:none}
#se-booking .hero .tag {position:relative;color:#ffad45;font-size:12px;letter-spacing:2.5px}
#se-booking h1,#se-booking h2,#se-booking .big {font-family:Georgia,'Times New Roman',serif;letter-spacing:-.02em}
#se-booking .hero h1 {position:relative;color:#ffe0a5;font-size:clamp(36px,5vw,65px);line-height:1.05;margin:18px 0;text-shadow:0 3px 15px #0007}
#se-booking .hero p {position:relative;max-width:690px;color:#fff5e9;font-size:16px}
#se-booking .steps {gap:8px;margin:22px 0}
#se-booking .step {background:#28170f;color:#e5c9a6;border:1px solid #634023;border-radius:4px;padding:14px 10px}
#se-booking .step.active {background:linear-gradient(110deg,#94310c,#d95013);border-color:#f2ac48;color:white}
#se-booking .step.complete {background:#332213;border-color:#b5853f;color:#ffdc9e}
#se-booking .panel {background:linear-gradient(145deg,#20130e,#160d0a 72%,#29120b);border:1px solid #80501f;border-radius:8px;box-shadow:0 12px 28px #0003;padding:clamp(17px,3vw,28px);margin:18px 0}
#se-booking .panel h2 {font-size:clamp(23px,3vw,32px);line-height:1.2;color:#ffdaa0;margin:0 0 20px}
#se-booking .panel p,#se-booking .foot {color:#dbc6ad}
#se-booking .muted {color:#c8af95}
#se-booking .grid {gap:14px}
#se-booking .tile {background:linear-gradient(130deg,#29190f,#190f0b);border:1px solid #8c5f2b;color:#ffeed7;border-radius:6px;min-height:100px;transition:border-color .16s,background .16s,transform .16s}
#se-booking .tile:hover:not(:has(input:disabled)){border-color:#f6ad45;transform:translateY(-2px)}
#se-booking .tile:has(input:checked) {background:linear-gradient(125deg,#5c270f,#28150d);border-color:#ffad42;box-shadow:inset 0 0 0 1px #d18936}
#se-booking .tile:has(input:disabled) {opacity:.6}
#se-booking .tile strong {color:#ffe0aa;font-size:16px}
#se-booking .tile small,#se-booking .availability {color:#c7ac93}
#se-booking .tile .price {color:#ffbb61;font-size:17px}
#se-booking .availability.yes {color:#83daa0}
#se-booking .availability.no {color:#f49b88}
#se-booking input[type=checkbox],#se-booking input[type=radio] {accent-color:#ea7a23}
#se-booking label.field {color:#eed6b8}
#se-booking input[type=date],#se-booking input[type=time],#se-booking input[type=text],#se-booking input[type=email],#se-booking input[type=tel],#se-booking select,#se-booking textarea {background:#fff8ef;color:#251611;border:1px solid #cf995b;border-radius:5px;min-height:47px}
#se-booking input:focus-visible,#se-booking select:focus-visible,#se-booking textarea:focus-visible,#se-booking button:focus-visible {outline:3px solid #ffb247;outline-offset:3px}
#se-booking .staff label {background:#27170f;border:1px solid #795027;color:#f7dfc3;border-radius:5px}
#se-booking .staff label:has(input:checked) {background:#52240e;border-color:#f8a43c}
#se-booking .totals {background:#120b08;border:1px solid #885823;border-radius:5px;color:#fff0d9}
#se-booking .line {border-bottom:1px solid rgba(200,151,81,.17)}
#se-booking .big {color:#ffd594;border-top:1px solid #a16c31;font-size:26px}
#se-booking .notice {background:#33200e;border-left:3px solid #e49a3b;color:#ffe4bf;border-radius:2px}
#se-booking .status {background:#2b1c14;border:1px solid #76502e;color:#f0d3af;border-radius:4px}
#se-booking .status.good {background:#173022;border-color:#4c9167;color:#baf0cd}
#se-booking .status.bad {background:#42201c;border-color:#a95a4c;color:#ffd0c5}
#se-booking .btn {background:linear-gradient(100deg,#c63f0c,#f58b21);border:1px solid #ffaa55;color:#fff;border-radius:100px;box-shadow:0 4px 20px rgba(220,70,13,.22);padding:15px 23px}
#se-booking .btn:hover {background:linear-gradient(100deg,#e14f12,#ffa436);color:#fff}
#se-booking .btn.secondary {background:#24150d;border-color:#ad7b3a;color:#ffdaa7;box-shadow:none}
#se-booking .btn.secondary:hover {background:#3a220f;color:#ffe3b5}
#se-booking .agreement {color:#ffca7a}
#se-booking .contract-box {background:#fff9f1;color:#24150e;border:1px solid #cc995b;border-radius:5px}
#se-booking .contract-box h3 {color:#40200d}
#se-booking .signature {background:#25170f;border:1px solid #80562f;border-radius:5px}
#se-booking .signature .muted,#se-booking .tick {color:#f0dbc1}
#se-booking .foot {margin-top:26px;padding-top:17px;border-top:1px solid #8d5829}
@media(max-width:650px){
  #se-booking {padding:15px 10px 35px}
  #se-booking .hero {padding:32px 21px}
  #se-booking .grid,#se-booking .options {grid-template-columns:1fr}
  #se-booking .panel {padding:19px 15px}
  #se-booking .step {min-width:calc(50% - 5px)}
  #se-booking .tile {min-width:0;padding:12px;gap:9px}
  #se-booking .tile .price {font-size:15px}
  #se-booking .actions .btn {width:100%;text-align:center}
}
@media(prefers-reduced-motion:reduce){#se-booking .tile {transition:none}#se-booking .tile:hover {transform:none}}


/* Existing Seven Ember black-and-gold rentals theme */
/* Seven Ember Rentals — visual theme only. No booking functionality changed. */
#se-booking {
  --ember-bg:#100a08; --ember-panel:#20110c; --ember-panel2:#2c160e;
  --ember-gold:#e1a34b; --ember-light:#ffe2a6; --ember-copy:#fff0d9;
  --ember-muted:#cbb49b; --ember-orange:#d64b16;
  max-width:1100px; margin:0 auto; padding:30px 15px 60px;
  color:var(--ember-copy); background:transparent;
  font-family:Arial,Helvetica,sans-serif;
}
#se-booking .hero {
  position:relative; overflow:hidden; border:1px solid #b3762c;
  border-radius:7px; padding:clamp(29px,5vw,60px);
  background:
    radial-gradient(ellipse at 92% 70%,rgba(164,49,11,.48),transparent 51%),
    radial-gradient(circle at 90% 19%,rgba(255,160,51,.35) 0 2px,transparent 4px),
    radial-gradient(circle at 74% 55%,rgba(255,130,20,.35) 0 2px,transparent 4px),
    radial-gradient(circle at 22% 86%,rgba(255,175,58,.4) 0 2px,transparent 4px),
    linear-gradient(115deg,#100908,#251009 69%,#53200e);
  box-shadow:inset 0 0 0 7px rgba(10,6,4,.7),0 12px 35px #0004;
}
#se-booking .hero:before {content:"";position:absolute;inset:11px;border:1px solid rgba(231,166,70,.43);pointer-events:none}
#se-booking .hero .tag {position:relative;color:#ffad45;font-size:12px;letter-spacing:2.5px}
#se-booking h1,#se-booking h2,#se-booking .big {font-family:Georgia,'Times New Roman',serif;letter-spacing:-.02em}
#se-booking .hero h1 {position:relative;color:#ffe0a5;font-size:clamp(36px,5vw,65px);line-height:1.05;margin:18px 0;text-shadow:0 3px 15px #0007}
#se-booking .hero p {position:relative;max-width:690px;color:#fff5e9;font-size:16px}
#se-booking .steps {gap:8px;margin:22px 0}
#se-booking .step {background:#28170f;color:#e5c9a6;border:1px solid #634023;border-radius:4px;padding:14px 10px}
#se-booking .step.active {background:linear-gradient(110deg,#94310c,#d95013);border-color:#f2ac48;color:white}
#se-booking .step.complete {background:#332213;border-color:#b5853f;color:#ffdc9e}
#se-booking .panel {background:linear-gradient(145deg,#20130e,#160d0a 72%,#29120b);border:1px solid #80501f;border-radius:8px;box-shadow:0 12px 28px #0003;padding:clamp(17px,3vw,28px);margin:18px 0}
#se-booking .panel h2 {font-size:clamp(23px,3vw,32px);line-height:1.2;color:#ffdaa0;margin:0 0 20px}
#se-booking .panel p,#se-booking .foot {color:#dbc6ad}
#se-booking .muted {color:#c8af95}
#se-booking .grid {gap:14px}
#se-booking .tile {background:linear-gradient(130deg,#29190f,#190f0b);border:1px solid #8c5f2b;color:#ffeed7;border-radius:6px;min-height:100px;transition:border-color .16s,background .16s,transform .16s}
#se-booking .tile:hover:not(:has(input:disabled)){border-color:#f6ad45;transform:translateY(-2px)}
#se-booking .tile:has(input:checked) {background:linear-gradient(125deg,#5c270f,#28150d);border-color:#ffad42;box-shadow:inset 0 0 0 1px #d18936}
#se-booking .tile:has(input:disabled) {opacity:.6}
#se-booking .tile strong {color:#ffe0aa;font-size:16px}
#se-booking .tile small,#se-booking .availability {color:#c7ac93}
#se-booking .tile .price {color:#ffbb61;font-size:17px}
#se-booking .availability.yes {color:#83daa0}
#se-booking .availability.no {color:#f49b88}
#se-booking input[type=checkbox],#se-booking input[type=radio] {accent-color:#ea7a23}
#se-booking label.field {color:#eed6b8}
#se-booking input[type=date],#se-booking input[type=time],#se-booking input[type=text],#se-booking input[type=email],#se-booking input[type=tel],#se-booking select,#se-booking textarea {background:#fff8ef;color:#251611;border:1px solid #cf995b;border-radius:5px;min-height:47px}
#se-booking input:focus-visible,#se-booking select:focus-visible,#se-booking textarea:focus-visible,#se-booking button:focus-visible {outline:3px solid #ffb247;outline-offset:3px}
#se-booking .staff label {background:#27170f;border:1px solid #795027;color:#f7dfc3;border-radius:5px}
#se-booking .staff label:has(input:checked) {background:#52240e;border-color:#f8a43c}
#se-booking .totals {background:#120b08;border:1px solid #885823;border-radius:5px;color:#fff0d9}
#se-booking .line {border-bottom:1px solid rgba(200,151,81,.17)}
#se-booking .big {color:#ffd594;border-top:1px solid #a16c31;font-size:26px}
#se-booking .notice {background:#33200e;border-left:3px solid #e49a3b;color:#ffe4bf;border-radius:2px}
#se-booking .status {background:#2b1c14;border:1px solid #76502e;color:#f0d3af;border-radius:4px}
#se-booking .status.good {background:#173022;border-color:#4c9167;color:#baf0cd}
#se-booking .status.bad {background:#42201c;border-color:#a95a4c;color:#ffd0c5}
#se-booking .btn {background:linear-gradient(100deg,#c63f0c,#f58b21);border:1px solid #ffaa55;color:#fff;border-radius:100px;box-shadow:0 4px 20px rgba(220,70,13,.22);padding:15px 23px}
#se-booking .btn:hover {background:linear-gradient(100deg,#e14f12,#ffa436);color:#fff}
#se-booking .btn.secondary {background:#24150d;border-color:#ad7b3a;color:#ffdaa7;box-shadow:none}
#se-booking .btn.secondary:hover {background:#3a220f;color:#ffe3b5}
#se-booking .agreement {color:#ffca7a}
#se-booking .contract-box {background:#fff9f1;color:#24150e;border:1px solid #cc995b;border-radius:5px}
#se-booking .contract-box h3 {color:#40200d}
#se-booking .signature {background:#25170f;border:1px solid #80562f;border-radius:5px}
#se-booking .signature .muted,#se-booking .tick {color:#f0dbc1}
#se-booking .foot {margin-top:26px;padding-top:17px;border-top:1px solid #8d5829}
@media(max-width:650px){
  #se-booking {padding:15px 10px 35px}
  #se-booking .hero {padding:32px 21px}
  #se-booking .grid,#se-booking .options {grid-template-columns:1fr}
  #se-booking .panel {padding:19px 15px}
  #se-booking .step {min-width:calc(50% - 5px)}
  #se-booking .tile {min-width:0;padding:12px;gap:9px}
  #se-booking .tile .price {font-size:15px}
  #se-booking .actions .btn {width:100%;text-align:center}
}
@media(prefers-reduced-motion:reduce){#se-booking .tile {transition:none}#se-booking .tile:hover {transform:none}}

/* Rental page development status */
#se-booking .dev-notice{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:15px 18px;margin:0 0 18px;background:#332116;border:1px solid #c89047;border-radius:9px;color:#ffe3b7;line-height:1.5}
#se-booking .dev-notice strong{color:#ffd18d}#se-booking .dev-notice span{flex:1 1 330px}#se-booking .dev-notice a{color:#ffce8a;font-weight:700;text-underline-offset:3px}#se-booking .hero{margin-top:0}

/* Mobile banner: undo the site-wide desktop hero columns on small screens. */
@media (max-width: 650px) {
  #se-booking .hero {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 12px;
    min-height: 0;
    height: auto;
    padding: 42px 24px;
    text-align: left;
  }
  #se-booking .hero > .tag,
  #se-booking .hero > h1,
  #se-booking .hero > p {
    display: block;
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    grid-column: auto;
    grid-row: auto;
    overflow-wrap: break-word;
  }
  #se-booking .hero > h1 {
    font-size: clamp(32px, 8.7vw, 42px);
    line-height: 1.08;
  }
  #se-booking .hero > p {
    font-size: 15px;
    line-height: 1.55;
  }
  #se-booking .hero > .tag {
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: 1.7px;
  }
}

/* Castle photo selector — visual-only enhancement to booking cards. */
#se-booking #se-products{align-items:stretch}
#se-booking #se-products .tile{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;min-width:0;min-height:0}
#se-booking #se-products .tile-photo{display:block;width:100%;height:220px;object-fit:contain;object-position:center;background:#0f0b09;padding:12px;border-bottom:1px solid #8c5f2b}
#se-booking #se-products .tile-details{display:grid;grid-template-columns:23px minmax(0,1fr);gap:10px;align-items:start;padding:16px;flex:1;width:100%}
#se-booking #se-products .tile-details>input{margin:3px 0 0}
#se-booking #se-products .tile-details>span:nth-child(2){min-width:0}
#se-booking #se-products .tile-details .price{grid-column:2;margin:2px 0 0;white-space:normal}
@media(max-width:650px){
  #se-booking #se-products .tile-photo{height:210px}
  #se-booking #se-products .tile-details{padding:14px}
}

/* Delivery quote section: uses the existing panel and form styles. */
#se-booking #se-delivery-panel .actions{margin-top:12px}
#se-booking #se-delivery-status{overflow-wrap:anywhere}
