/* McGarry Wedding Bookings — front end (scoped to .mwd) */
.mwd{--dark:#252920;--olive:#424b3c;--cream:#f8f7f3;--stone:#eae7df;--line:#d8d5cd;--muted:#686960;font-family:'DM Sans',Arial,sans-serif;color:var(--dark);font-size:15px;line-height:1.7;max-width:1380px;margin:0 auto;padding:60px 40px;box-sizing:border-box}
.mwd [hidden]{display:none!important}
.mwd *,.mwd *::before,.mwd *::after{box-sizing:border-box}
.mwd h2,.mwd h3{font-family:'Italiana',Georgia,serif;font-weight:400;line-height:1.15;margin:0 0 14px;color:var(--dark)}
.mwd h2{font-size:clamp(30px,3vw,46px)}
.mwd h3{font-size:26px}
.mwd p{margin:0 0 12px}
.mwd a{color:var(--olive)}
.mwd .mwd-eyebrow{font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:12px}
.mwd .mwd-help{font-size:13px;color:var(--muted)}
.mwd .mwd-alert{border:1px solid #b9845a;background:#fbf3ec;padding:14px 18px;margin-bottom:24px}
.mwd .mwd-alert.ok{border-color:var(--olive);background:#eef0ea}
.mwd .mwd-btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border:1px solid var(--olive);background:var(--olive);color:#fff;font:600 11px/1 'DM Sans',Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:0;transition:background .25s}
.mwd .mwd-btn:hover{background:var(--dark)}
.mwd .mwd-btn-outline{background:transparent;color:var(--dark);border-color:var(--dark)}
.mwd .mwd-btn-outline:hover{background:var(--dark);color:#fff}
.mwd .mwd-btn:focus-visible,.mwd input:focus-visible,.mwd select:focus-visible,.mwd textarea:focus-visible{outline:2px solid var(--olive);outline-offset:2px}
.mwd label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500}
.mwd label span{font-weight:400;color:var(--muted)}
.mwd input[type=text],.mwd input[type=email],.mwd input[type=tel],.mwd input[type=date],.mwd input[type=time],.mwd input[type=number],.mwd input[type=password],.mwd select,.mwd textarea{width:100%;padding:12px 14px;border:1px solid var(--line);background:#fff;font:15px 'DM Sans',Arial,sans-serif;color:var(--dark);border-radius:0}
.mwd .mwd-check{flex-direction:row;align-items:center;gap:10px;font-weight:500}
.mwd .mwd-check input{width:18px;height:18px;accent-color:var(--olive)}
.mwd .mwd-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.mwd .mwd-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
.mwd .mwd-wide{grid-column:1 / -1}

/* builder */
.mwd-builder{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:0 48px;align-items:start}
.mwd-builder .mwd-step{grid-column:1;padding:40px 0;border-bottom:1px solid var(--line)}
.mwd-builder .mwd-step:first-of-type{padding-top:0}
.mwd-builder .mwd-summary{grid-column:2;grid-row:1 / span 4;align-self:start;position:sticky;top:30px;background:var(--dark);color:#fff;padding:32px 28px}
.mwd-builder .mwd-summary .mwd-help{color:#c9cbc2;margin-top:16px}
.mwd-builder .mwd-total{font-family:'Italiana',Georgia,serif;font-size:44px;line-height:1;margin:6px 0 8px}
.mwd-builder .mwd-total small{font:600 11px 'DM Sans',Arial,sans-serif;letter-spacing:1.5px;color:#c9cbc2}
.mwd-builder .mwd-gross{color:#d6d8cf;font-size:13px;margin-bottom:20px}
.mwd-builder .mwd-min{font-size:13px;border:1px solid rgba(255,255,255,.3);padding:10px 12px}
.mwd-builder .mwd-summary .mwd-btn{width:100%;background:#fff;color:var(--dark);border-color:#fff}
.mwd-builder .mwd-summary .mwd-btn:hover{background:transparent;color:#fff}
.mwd-cat{border:0;margin:28px 0 0;padding:0}
.mwd-cat legend{font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px;padding:0}
.mwd-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.mwd-product{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;transition:border-color .2s}
.mwd-product.is-selected{border-color:var(--olive);box-shadow:inset 0 0 0 1px var(--olive)}
.mwd-product-img{aspect-ratio:4/3;overflow:hidden;background:var(--stone)}
.mwd-product-img img{width:100%;height:100%;object-fit:cover;display:block}
.mwd-product-body{padding:16px 16px 18px;display:flex;flex-direction:column;flex:1}
.mwd-product h3{font-size:21px;margin-bottom:6px}
.mwd-product p{font-size:13px;color:var(--muted)}
.mwd-product .mwd-price{color:var(--dark);font-weight:600;margin-top:auto}
.mwd-product .mwd-price span{font-weight:400;font-size:12px;color:var(--muted)}
.mwd-product .mwd-qty{flex-direction:row;align-items:center;justify-content:space-between}
.mwd-product .mwd-qty input{width:84px}

/* dashboard */
.mwd-dash-head{background:var(--dark);color:#fff;padding:40px;margin-bottom:24px}
.mwd-dash-head h2{color:#fff}
.mwd-dash-head .mwd-count{font-family:'Italiana',Georgia,serif;font-size:28px;margin:10px 0 0}
.mwd-dash-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px}
.mwd-panel{border:1px solid var(--line);background:#fff;padding:28px;margin-bottom:24px}
.mwd-panel summary{cursor:pointer;list-style:none}
.mwd-panel summary::-webkit-details-marker{display:none}
.mwd-panel summary h3{display:inline;margin:0}
.mwd-panel summary::after{content:'+';float:right;font-size:24px;line-height:1}
.mwd-panel[open] summary::after{content:'−'}
.mwd-panel form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin-top:20px}
.mwd-panel form > p,.mwd-panel form > table,.mwd-panel form > .mwd-btn,.mwd-panel form > .mwd-help{grid-column:1 / -1}
.mwd-panel form > .mwd-btn{justify-self:start}
.mwd-pending{border-color:#b9845a;background:#fbf3ec}
.mwd-table{width:100%;border-collapse:collapse;font-size:14px}
.mwd-table th{text-align:left;font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:0 0 10px;border-bottom:1px solid var(--dark)}
.mwd-table td{padding:11px 0;border-bottom:1px solid var(--line)}
.mwd-table td:last-child,.mwd-table th:last-child{text-align:right}
.mwd-table tfoot td{border-bottom:0;padding:6px 0}
.mwd-table .mwd-grand td{font-weight:600;font-size:16px;border-top:1px solid var(--dark);padding-top:12px}
.mwd-table input{max-width:90px;margin-left:auto}
.mwd-facts{list-style:none;margin:0 0 20px;padding:0;border-top:1px solid var(--line)}
.mwd-facts li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}
.mwd-login,.mwd-thanks{max-width:520px}
.mwd-login form p{margin-bottom:14px}
.mwd-login input[type=submit]{padding:14px 24px;border:0;background:var(--olive);color:#fff;font:600 11px 'DM Sans',Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;cursor:pointer}

@media (max-width:960px){
	.mwd{padding:40px 22px}
	.mwd-builder{grid-template-columns:1fr}
	.mwd-builder .mwd-summary{grid-column:1;grid-row:auto;position:sticky;bottom:0;top:auto;padding:18px 22px;margin:0 -22px;z-index:5}
	.mwd-builder .mwd-summary .mwd-help,.mwd-builder .mwd-summary .mwd-eyebrow{display:none}
	.mwd-builder .mwd-total{font-size:30px}
	.mwd-dash-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
	.mwd .mwd-fields,.mwd-panel form{grid-template-columns:1fr}
	.mwd-dash-head,.mwd-panel{padding:22px}
}

.mwd-proposal .mwd-panel form .mwd-btn{justify-self:start}
.mwd-login .mwd-btn{color:#fff;text-decoration:none}
.mwd-dash .mwd-btn,.mwd-proposal a.mwd-btn{color:#fff;text-decoration:none}

.mwd-product .mwd-col{margin:4px 0 10px}
.mwd-product .mwd-col select{padding:8px 10px;font-size:14px}

.mwd-builder .mwd-travel{font-size:13px;color:#d6d8cf;margin:-4px 0 8px}
.mwd-table th+th,.mwd-table td+td{padding-left:12px}
