/* Front-end styles for order form - synced with reservation plugin */
/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');

/* Base font for all plugin elements */
.dmnhd-order-wrapper,
.dmnhd-menu-page,
.dmnhd-checkout-page,
.dmnhd-modal-content,
.dmnhd-reservation-form{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

.dmnhd-order-wrapper{max-width:1200px;margin:20px auto;padding:20px;box-sizing:border-box;}
.dmnhd-layout{display:grid;grid-template-columns:2fr 1fr;gap:20px;min-height:600px}
.dmnhd-item-title {
    font-size: 18px;
}
.dmnhd-item-desc {
    font-size: 14px;
}
.dmnhd-cart-item small {
    font-size: 14px;
}
.dmnhd-cart-item strong {
    font-size: 18px;
}
@media(max-width:1024px){
    .dmnhd-order-wrapper{padding:16px;}
    .dmnhd-layout{grid-template-columns:1fr;gap:16px}
    .dmnhd-cart{order:1;margin-bottom:16px}
}
@media(max-width:768px){
    .dmnhd-order-wrapper{padding:12px;}
    .dmnhd-layout{grid-template-columns:1fr;gap:12px;min-height:auto}
    .dmnhd-menu{order:2;margin-bottom:16px;display:block !important;visibility:visible !important;opacity:1 !important}
    .dmnhd-cart{order:1;position:sticky;bottom:0;z-index:100;border-radius:12px 12px 0 0;border-top:2px solid #e5e7eb;margin-bottom:0}
}
@media(max-width:480px){
    .dmnhd-order-wrapper{padding:8px;}
    .dmnhd-layout{gap:8px}
    .dmnhd-menu{display:block !important;visibility:visible !important;opacity:1 !important}
}
.dmnhd-menu,.dmnhd-cart{background:#ffffff;border:1px solid #e5e7eb;border-radius:16px;padding:20px 24px;box-shadow:0 14px 45px rgba(15,23,42,.18);box-sizing:border-box}
@media(max-width:768px){
    .dmnhd-menu,.dmnhd-cart{padding:16px;border-radius:12px}
}
@media(max-width:480px){
    .dmnhd-menu,.dmnhd-cart{padding:12px;border-radius:10px}
}
.dmnhd-menu-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between;margin-bottom:12px}
.dmnhd-menu-top h2{margin:0;font-size:24px;font-weight:700;color:#111827;flex:1 1 100%}
@media(max-width:768px){
    .dmnhd-menu-top h2{font-size:24px;margin-bottom:8px}
}
.dmnhd-filters{display:flex;flex-wrap:wrap;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:16px 24px 12px;width:100%;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #e5e7eb;flex-shrink:0}
.dmnhd-filter-btn{border:1px solid #e5e7eb;background:#f9fafb;border-radius:999px;padding:8px 14px;cursor:pointer;font-size:13px;font-weight:500;white-space:nowrap;min-width:fit-content;transition:all 0.2s ease;color:#374151;flex-shrink:0}
.dmnhd-filter-btn.active{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border-color:#f97316;transform:translateY(-1px);}
.dmnhd-filter-btn:hover:not(.active){background:#ffffff;border-color:#d1d5db}
@media(max-width:768px){
    .dmnhd-filters{gap:6px;padding-bottom:6px;overflow-x:auto;scrollbar-width:thin}
    .dmnhd-filter-btn{padding:6px 12px;font-size:12px;min-width:auto}
}
@media(max-width:480px){
    .dmnhd-filters{gap:4px;padding-bottom:4px}
    .dmnhd-filter-btn{padding:5px 10px;font-size:11px}
}
.dmnhd-category{border-bottom:1px solid #f1f5f9;padding:12px 0;display:block}
.dmnhd-category:last-child{border-bottom:none}
.dmnhd-cat-header{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;color:#111827;margin-bottom:8px}
.dmnhd-cat-icon{font-size:22px;line-height:1}
.dmnhd-cat-name{line-height:1.4}
.dmnhd-item{display:flex;flex-direction:column;gap:8px;padding:10px 20px;border-bottom:1px dashed #e5e7eb;margin-bottom:8px;width:100%;box-sizing:border-box}
.dmnhd-item:last-child{border-bottom:none;margin-bottom:0}
@media(max-width:1024px) and (min-width:769px){
    .dmnhd-category{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
    .dmnhd-item{margin-bottom:0;border-bottom:none;padding:10px;border:1px solid #f1f5f9;border-radius:8px;background:#fafbfc}
}
@media(max-width:768px){
    .dmnhd-category{padding:10px 0;display:block}
    .dmnhd-cat-header{font-size:15px;margin-bottom:6px}
    .dmnhd-cat-icon{font-size:20px}
    .dmnhd-item{padding:10px 0;margin-bottom:8px;gap:8px;border-bottom:1px dashed #e5e7eb}
    .dmnhd-item-title{font-size:16px !important}
    .dmnhd-item-desc{font-size:13px !important}
}
@media(max-width:480px){
    .dmnhd-category{padding:8px 0}
    .dmnhd-cat-header{font-size:14px;gap:8px}
    .dmnhd-cat-icon{font-size:18px}
    .dmnhd-item{padding:8px 0;margin-bottom:6px;gap:6px}
    .dmnhd-item-title{font-size:15px !important}
    .dmnhd-item-desc{font-size:12px !important}
}
.dmnhd-item-meta{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap}
.dmnhd-item-price{font-weight:700;font-size:14px;color:#f97316;flex-shrink:0}
.dmnhd-btn{border:none;border-radius:999px;padding:8px 14px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;cursor:pointer;font-weight:600;font-size:13px;box-shadow:1px 1px 10px rgba(234, 88, 12, .35);transition:background .15s ease,transform .1s ease,box-shadow .15s ease;white-space:nowrap;flex-shrink:0}
.dmnhd-btn:hover{background:linear-gradient(135deg,#fb923c,#f97316);transform:translateY(-1px);box-shadow:1px 1px 10px rgba(234, 88, 12, .35)}
.dmnhd-btn:active{transform:translateY(0);box-shadow:1px 1px 10px rgba(234, 88, 12, .35)}
@media(max-width:768px){
    .dmnhd-item-meta{gap:8px}
    .dmnhd-item-price{font-size:13px}
    .dmnhd-btn{padding:7px 12px;font-size:12px}
}
@media(max-width:480px){
    .dmnhd-item-meta{flex-direction:column;align-items:flex-start;gap:6px}
    .dmnhd-item-price{font-size:12px}
    .dmnhd-btn{padding:7px;font-size:11px;text-align:center}
}
.dmnhd-cart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.dmnhd-cart-header h2{margin:0;font-size:24px;font-weight:700;color:#111827}
.dmnhd-cart-count{background:#111827;color:#fff;border-radius:999px;padding:4px 10px;font-weight:700;font-size:12px;min-width:24px;text-align:center}
.dmnhd-cart-items{max-height:280px;overflow-y:auto;overflow-x:hidden;border:1px solid #f1f5f9;border-radius:10px;padding:12px;margin-bottom:12px;-webkit-overflow-scrolling:touch}
.dmnhd-cart-item{display:flex;justify-content:space-between;gap:10px;padding:10px;border-bottom:1px solid #f1f5f9;border-radius:6px;margin-bottom:4px;background:#fafbfc;box-sizing:border-box}
.dmnhd-cart-item:last-child{border-bottom:none;margin-bottom:0}
@media(max-width:768px){
    .dmnhd-cart-header{margin-bottom:10px}
    .dmnhd-cart-header h2{font-size:24px}
    .dmnhd-cart-count{padding:6px 12px;font-size:13px}
    .dmnhd-cart-items{max-height:250px;padding:10px;margin-bottom:10px;border-radius:8px}
    .dmnhd-cart-item{gap:8px;padding:10px;flex-direction:column;align-items:flex-start;border-radius:8px}
    .dmnhd-cart-item div:last-child{margin-top:6px;text-align:right;width:100%}
}
@media(max-width:480px){
    .dmnhd-cart-header h2{font-size:24px}
    .dmnhd-cart-count{padding:5px 10px;font-size:12px}
    .dmnhd-cart-items{max-height:200px;padding:8px}
    .dmnhd-cart-item{padding:8px;gap:6px}
}
.dmnhd-cart-item:last-child{border-bottom:none}
.dmnhd-cart-summary{border:1px solid #e5e7eb;border-radius:10px;padding:12px;margin-bottom:12px;background:#f8fafc}
.dmnhd-cart-summary div{display:flex;justify-content:space-between;margin:6px 0;font-size:14px}
.dmnhd-total-row{font-size:16px;font-weight:700;border-top:1px solid #e5e7eb;padding-top:8px;margin-top:8px}
@media(max-width:768px){
    .dmnhd-cart-summary{padding:8px;margin-bottom:8px}
    .dmnhd-cart-summary div{margin:4px 0;font-size:13px}
    .dmnhd-total-row{font-size:15px;padding-top:6px;margin-top:6px}
}
.dmnhd-checkout .dmnhd-field{margin-bottom:14px}
.dmnhd-checkout label{display:block;font-size:13px;font-weight:600;margin-bottom:4px;color:#374151}
.dmnhd-checkout input,.dmnhd-checkout textarea,.dmnhd-checkout select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #d1d5db;font-size:14px;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;background:#f9fafb}
.dmnhd-checkout input:focus,.dmnhd-checkout textarea:focus,.dmnhd-checkout select:focus{border-color:#f97316;background:#ffffff;box-shadow:0 0 0 1px rgba(249,115,22,.35);outline:none}
.dmnhd-msg{margin-top:12px;font-size:13px;padding:8px;border-radius:6px}
.dmnhd-msg[style*="color:#16a34a"]{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}
.dmnhd-msg[style*="color:#ef4444"]{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}
@media(max-width:768px){
    .dmnhd-checkout .dmnhd-field{margin-bottom:12px}
    .dmnhd-checkout label{font-size:14px;margin-bottom:6px}
    .dmnhd-checkout input,.dmnhd-checkout textarea,.dmnhd-checkout select{padding:12px;font-size:16px;border-radius:8px}
    .dmnhd-msg{margin-top:10px;padding:10px;font-size:14px;border-radius:8px}
}
@media(max-width:480px){
    .dmnhd-checkout .dmnhd-field{margin-bottom:10px}
    .dmnhd-checkout label{font-size:13px;margin-bottom:5px}
    .dmnhd-checkout input,.dmnhd-checkout textarea,.dmnhd-checkout select{padding:10px;font-size:16px;border-radius:6px}
    .dmnhd-msg{padding:8px;font-size:13px}
}
.dmnhd-empty{color:#6b7280;font-style:italic;font-size: 14px;}
.dmnhd-track-card{margin-top:16px;padding:14px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;}
.dmnhd-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:9999;}
.dmnhd-modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);}
.dmnhd-modal-content{position:relative;background:#fff;border-radius:16px;max-width:520px;width:90%;max-height:90vh;overflow-y:auto;padding:20px 22px;box-shadow:0 20px 50px rgba(0,0,0,.25);z-index:1;font-size:14px;line-height:1.5;}
@media(max-width:768px){.dmnhd-modal-content{max-width:95vw;width:95vw;padding:16px;max-height:85vh;border-radius:12px}}
@media(max-width:480px){.dmnhd-modal-content{max-width:98vw;width:98vw;padding:12px;border-radius:8px}}
.dmnhd-modal-close{position:absolute;top:10px;right:12px;border:none;background:none;font-size:20px;cursor:pointer;}
.dmnhd-modal-title{margin:0 0 6px;font-size:18px;font-weight:700;color:#111827;}
.dmnhd-modal-desc{margin:0 0 6px;color:#4b5563;font-size:14px;}
.dmnhd-modal-long{margin:0 0 10px;color:#6b7280;font-size:13px;line-height:1.5;}
.dmnhd-modal-option select,.dmnhd-modal-qty,.dmnhd-modal-note{width:100%;border:1px solid #d1d5db;border-radius:8px;padding:8px;font-size:14px;}
.dmnhd-modal-qty-note{display:grid;grid-template-columns:1fr;gap:8px;}
.dmnhd-qty-control{display:flex;align-items:center;gap:8px;}
.dmnhd-qty-btn{width:38px;height:38px;border:1px solid #d1d5db;border-radius:10px;background:#f9fafb;font-size:18px;font-weight:700;cursor:pointer;transition:all .15s ease;}
.dmnhd-qty-btn:hover{background:#fff;border-color:#f97316;color:#f97316;box-shadow:0 0 0 1px rgba(249,115,22,.25);}
.dmnhd-modal-qty{max-width:90px;text-align:center;}
.dmnhd-modal-option-list{display:flex;flex-direction:column;gap:8px;}
.dmnhd-option-row{display:block;font-size:14px;color:#111827;}
.dmnhd-option-row input{margin-right:8px;transform:translateY(1px);}
.dmnhd-modal-footer{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700;}
.dmnhd-modal-price{font-size:16px;}

/* Loading overlay on submit */
.dmnhd-order-wrapper.dmnhd-is-loading{position:relative;}
.dmnhd-loading-overlay{
    position:absolute;
    inset:0;
    background:rgba(255,255,255,0.75);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:999;
}
.dmnhd-loading-overlay::after{
    content:'';
    width:32px;
    height:32px;
    border:3px solid #f97316;
    border-top-color:transparent;
    border-radius:50%;
    animation:dmnhd-spin 0.9s linear infinite;
}
.dmnhd-btn-loading{
    opacity:0.7;
    pointer-events:none;
    position:relative;
}
.dmnhd-btn-loading::after{
    content:'';
    width:16px;
    height:16px;
    border:2px solid #fff;
    border-top-color:transparent;
    border-radius:50%;
    animation:dmnhd-spin 0.9s linear infinite;
    position:absolute;
    right:12px;
    top:50%;
    transform:translateY(-50%);
}
@keyframes dmnhd-spin{
    to{transform:rotate(360deg);}
}

/* Menu page styles */
.dmnhd-menu-page{max-width:1000px;margin:0 auto;padding:20px;box-sizing:border-box;display:flex;flex-direction:column;height:calc(100vh - 60px);max-height:calc(100vh - 60px)}
.dmnhd-menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding:16px 20px;background:#fff;border-bottom:2px solid #e5e7eb;border-radius:12px 12px 0 0;box-shadow:0 2px 8px rgba(0,0,0,.05);flex-shrink:0}
.dmnhd-menu-header h1{margin:0;font-size:28px;font-weight:700;color:#111827;font-family:'Playfair Display',serif;letter-spacing:-0.02em}
.dmnhd-cart-wrapper{position:relative}
.dmnhd-cart-icon-link{position:relative;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#f97316,#ea580c);border-radius:50%;text-decoration:none;transition:transform .2s,box-shadow .2s;border:none;cursor:pointer;padding:0}
.dmnhd-cart-icon-link:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(234,88,12,.4)}
.dmnhd-cart-icon{font-size:20px;line-height:1;display:inline-block;color: #fff;}
.dmnhd-cart-badge{position:absolute;top:-4px;right:-4px;background:#dc2626;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;border:2px solid #fff}
.dmnhd-cart-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:320px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.15);z-index:1000;max-height:500px;display:flex;flex-direction:column}
.dmnhd-cart-dropdown-header{padding:12px 16px;border-bottom:1px solid #e5e7eb}
.dmnhd-cart-dropdown-header h3{margin:0;font-size:16px;font-weight:700;color:#111827}
.dmnhd-cart-dropdown-items{flex:1;overflow-y:auto;max-height:300px;padding:8px}
.dmnhd-cart-dropdown-item{display:flex;justify-content:space-between;gap:8px;padding:10px;border-bottom:1px solid #f1f5f9;font-size:13px}
.dmnhd-cart-dropdown-item:last-child{border-bottom:none}
.dmnhd-cart-dropdown-item-name{flex:1;font-weight:600;color:#111827}
.dmnhd-cart-dropdown-item-price{color:#f97316;font-weight:700}
.dmnhd-cart-dropdown-item-remove{color:#ef4444;font-size:11px;cursor:pointer;text-decoration:underline}
.dmnhd-cart-dropdown-summary{padding:12px 16px;border-top:2px solid #e5e7eb;background:#f8fafc}
.dmnhd-cart-dropdown-total{display:flex;justify-content:space-between;margin-bottom:12px;font-size:15px;font-weight:700}
.dmnhd-cart-checkout-btn{width:100%;padding:12px;text-align:center;text-decoration:none;display:block}
@media(max-width:768px){
    .dmnhd-cart-dropdown{width:calc(100vw - 24px);right:-20px;max-width:400px}

}
.dmnhd-menu-content{background:#fff;border:1px solid #e5e7eb;border-radius:0 0 16px 16px;padding:0;box-shadow:0 14px 45px rgba(15,23,42,.18);flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;position:relative}
.dmnhd-menu-content > .dmnhd-category-wrapper{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 24px 24px;min-height:0}
@media(max-width:768px){
    .dmnhd-menu-page{padding:0}
    .dmnhd-menu-header{position:sticky;top:0;z-index:100;margin-bottom:0;padding:12px 16px;border-radius:0;box-shadow:0 2px 8px rgba(0,0,0,.1)}
    .dmnhd-menu-header h1{font-size:28px}
    .dmnhd-cart-icon-link{width:44px;height:44px}
    .dmnhd-cart-icon{font-size:22px}
    .dmnhd-menu-content{margin-top:0;border-radius:0;padding:0;box-shadow:none;border-left:none;border-right:none}
    .dmnhd-menu-content > .dmnhd-category-wrapper{padding:0 16px 16px}
}
@media(max-width:480px){
    .dmnhd-menu-header{padding:10px 12px}
    .dmnhd-menu-header h1{font-size:28px}
    .dmnhd-cart-icon-link{width:40px;height:40px}
    .dmnhd-cart-icon{font-size:15px}
    .dmnhd-cart-badge{width:18px;height:18px;font-size:10px}
    .dmnhd-menu-content{padding:0}
    .dmnhd-menu-content > .dmnhd-category-wrapper{padding:0 12px 12px}
    .dmnhd-filters{padding:12px 12px 8px}
}

/* Checkout page styles */
.dmnhd-checkout-page{max-width:1200px;margin:0 auto;padding:20px;box-sizing:border-box;min-height:calc(100vh - 60px);display:flex;flex-direction:column}
.dmnhd-payment-info{
    padding:12px 16px;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:8px;
    color:#374151;
    font-size:15px
}
.dmnhd-payment-info strong{
    color:#111827;
    font-weight:600
}

/* Payment Methods - Modern Card Design */
.dmnhd-payment-methods{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:8px
}
.dmnhd-payment-option{
    position:relative;
    display:block;
    cursor:pointer
}
.dmnhd-payment-option input[type="radio"]{
    position:absolute;
    opacity:0;
    width:0;
    height:0
}
.dmnhd-payment-option-content{
    display:flex;
    align-items:center;
    gap:14px;
    padding:16px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#ffffff;
    transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
    position:relative;
    overflow:hidden
}
.dmnhd-payment-option-content::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%);
    opacity:0;
    transition:opacity 0.3s ease
}
.dmnhd-payment-option:hover .dmnhd-payment-option-content{
    border-color:#f97316;
    box-shadow:0 4px 12px rgba(249,115,22,0.15);
    transform:translateY(-2px)
}
.dmnhd-payment-option:hover .dmnhd-payment-option-content::before{
    opacity:0.3
}
.dmnhd-payment-option input[type="radio"]:checked + .dmnhd-payment-option-content{
    border-color:#f97316;
    background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%);
    box-shadow:0 4px 16px rgba(249,115,22,0.2)
}
.dmnhd-payment-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border-radius:10px;
    background:#f3f4f6;
    color:#6b7280;
    flex-shrink:0;
    transition:all 0.3s ease
}
.dmnhd-payment-option input[type="radio"]:checked + .dmnhd-payment-option-content .dmnhd-payment-icon{
    background:#f97316;
    color:#ffffff;
    transform:scale(1.1)
}
.dmnhd-payment-option-text{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:4px
}
.dmnhd-payment-title{
    display:block;
    font-size:16px;
    font-weight:600;
    color:#111827;
    transition:color 0.3s ease
}
.dmnhd-payment-option input[type="radio"]:checked + .dmnhd-payment-option-content .dmnhd-payment-title{
    color:#f97316
}
.dmnhd-payment-desc{
    display:block;
    font-size:13px;
    color:#6b7280;
    line-height:1.4
}
.dmnhd-payment-logo{
    flex-shrink:0
}
.dmnhd-payment-logo img{
    height:28px;
    width:auto;
    display:block
}
.dmnhd-payment-check{
    display:flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:50%;
    background:#e5e7eb;
    color:#ffffff;
    opacity:0;
    transform:scale(0.8);
    transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
    flex-shrink:0
}
.dmnhd-payment-option input[type="radio"]:checked + .dmnhd-payment-option-content .dmnhd-payment-check{
    opacity:1;
    transform:scale(1);
    background:#f97316
}
.dmnhd-payment-single{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 16px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#ffffff
}
.dmnhd-payment-single .dmnhd-payment-icon{
    width:40px;
    height:40px;
    background:#f3f4f6;
    color:#6b7280
}
.dmnhd-payment-single strong{
    font-size:15px;
    color:#111827
}
@media(max-width:640px){
    .dmnhd-payment-option-content{
        padding:14px;
        gap:12px
    }
    .dmnhd-payment-icon{
        width:44px;
        height:44px
    }
    .dmnhd-payment-title{
        font-size:15px
    }
    .dmnhd-payment-desc{
        font-size:12px
    }
}
.dmnhd-checkout-header{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e5e7eb;flex-shrink:0}
.dmnhd-checkout-header h1{margin:8px 0 0;font-size:28px;font-weight:700;color:#111827;font-family:'Playfair Display',serif;letter-spacing:-0.02em}
.dmnhd-back-link{display:inline-block;margin-bottom:8px;color:#6b7280;text-decoration:none;font-size:14px;transition:color .2s}
.dmnhd-back-link:hover{color:#111827}
.dmnhd-checkout-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;align-content:start}
.dmnhd-cart-section{overflow:visible}
.dmnhd-checkout-form-section{overflow:visible}
.dmnhd-cart-section,.dmnhd-checkout-form-section{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px 24px;}
.dmnhd-cart-section h2,.dmnhd-checkout-form-section h2{margin:0 0 16px;font-size:24px;font-weight:700;color:#111827;font-family:'Playfair Display',serif;letter-spacing:-0.01em}
.dmnhd-checkout-form-section .dmnhd-field{margin-bottom:16px}
.dmnhd-checkout-form-section label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#374151}
.dmnhd-checkout-form-section input,.dmnhd-checkout-form-section textarea,.dmnhd-checkout-form-section select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #d1d5db;font-size:14px;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;background:#f9fafb}
.dmnhd-checkout-form-section input:focus,.dmnhd-checkout-form-section textarea:focus,.dmnhd-checkout-form-section select:focus{border-color:#f97316;background:#fff;box-shadow:0 0 0 1px rgba(249,115,22,.35);outline:none}
.dmnhd-checkout-form-section .dmnhd-radio-group{display:flex;gap:12px;margin-top:8px}
.dmnhd-checkout-form-section .dmnhd-radio-group label{font-weight:400;cursor:pointer}
.dmnhd-checkout-form-section .dmnhd-radio-group input{margin-right:6px;width:auto}
.dmnhd-summary-row{display:flex;justify-content:space-between;margin:8px 0;font-size:14px;padding:4px 0}
.dmnhd-summary-row strong{color:#111827}
.dmnhd-total-row{font-size:16px;font-weight:700;border-top:2px solid #e5e7eb;padding-top:12px;margin-top:12px}
@media(max-width:1024px){
    .dmnhd-checkout-layout{grid-template-columns:1fr;gap:20px}
    .dmnhd-cart-section{order:1}
    .dmnhd-checkout-form-section{order:2}
}
@media(max-width:768px){
    .dmnhd-checkout-page{padding:12px}
    .dmnhd-checkout-header{margin-bottom:16px;padding-bottom:12px}
    .dmnhd-checkout-header h1{font-size:28px}
    .dmnhd-cart-section,.dmnhd-checkout-form-section{padding:16px;border-radius:12px}
    .dmnhd-checkout-form-section input,.dmnhd-checkout-form-section textarea,.dmnhd-checkout-form-section select{padding:12px;font-size:16px}
}
@media(max-width:480px){
    .dmnhd-checkout-page{padding:8px}
    .dmnhd-checkout-header h1{font-size:28px}
    .dmnhd-cart-section,.dmnhd-checkout-form-section{padding:12px}
}

/* Checkout Loading Overlay */
.dmnhd-checkout-page{
    position:relative
}
#dmnhd-checkout-loading{
    position:fixed;
    inset:0;
    background:rgba(255,255,255,.95);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    z-index:10000;
    backdrop-filter:blur(4px)
}
.dmnhd-loading-spinner{
    width:48px;
    height:48px;
    border:4px solid #f1f5f9;
    border-top-color:#f97316;
    border-radius:50%;
    animation:dmnhd-spin .9s linear infinite;
    margin-bottom:16px
}
#dmnhd-checkout-loading p{
    margin:0;
    font-size:16px;
    font-weight:600;
    color:#374151
}

/* Success Popup */
.dmnhd-success-popup{
    position:fixed;
    inset:0;
    z-index:10001;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    box-sizing:border-box
}
.dmnhd-success-popup-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.5);
    backdrop-filter:blur(4px)
}
.dmnhd-success-popup-content{
    position:relative;
    background:#fff;
    border-radius:16px;
    padding:32px 24px;
    max-width:480px;
    width:100%;
    text-align:center;
    box-shadow:0 20px 60px rgba(0,0,0,.3);
    animation:dmnhd-popup-fade-in .3s ease-out
}
.dmnhd-success-icon{
    width:64px;
    height:64px;
    background:linear-gradient(135deg,#10b981,#059669);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 20px;
    font-size:36px;
    color:#fff;
    font-weight:700;
    box-shadow:0 8px 24px rgba(16,185,129,.3)
}
.dmnhd-success-popup-content h3{
    margin:0 0 12px;
    font-size:24px;
    font-weight:700;
    color:#111827
}
.dmnhd-success-message{
    margin:0 0 24px;
    font-size:15px;
    line-height:1.6;
    color:#6b7280;
    white-space:pre-line
}
.dmnhd-success-back-btn{
    display:inline-block;
    padding:12px 24px;
    background:linear-gradient(135deg,#f97316,#ea580c);
    color:#fff;
    text-decoration:none;
    border-radius:8px;
    font-weight:600;
    font-size:15px;
    transition:transform .2s,box-shadow .2s;
    box-shadow:0 4px 12px rgba(234,88,12,.3)
}
.dmnhd-success-back-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 6px 16px rgba(234,88,12,.4)
}
@keyframes dmnhd-popup-fade-in{
    from{
        opacity:0;
        transform:scale(.9) translateY(20px)
    }
    to{
        opacity:1;
        transform:scale(1) translateY(0)
    }
}
@media(max-width:768px){
    .dmnhd-success-popup-content{
        padding:24px 20px;
        max-width:90%
    }
    .dmnhd-success-icon{
        width:56px;
        height:56px;
        font-size:32px;
        margin-bottom:16px
    }
    .dmnhd-success-popup-content h3{
        font-size:20px
    }
    .dmnhd-success-message{
        font-size:14px
    }
}

