/* =============================================
   TABLE CARD
============================================= */
.ccp-box{width:100%!important;border:1px solid #e5e7eb!important;border-radius:18px!important;overflow:hidden!important;background:#fff!important;position:relative!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;box-shadow:0 2px 16px rgba(0,0,0,.06)!important;}
.ccp-header{display:grid!important;background:linear-gradient(145deg,#111,#222)!important;color:#fff!important;font-weight:700!important;font-size:12px!important;padding:13px 0!important;letter-spacing:.06em!important;text-transform:uppercase!important;}
.ccp-body{max-height:240px!important;overflow-y:auto!important;background:#fff!important;scrollbar-width:thin!important;scrollbar-color:#222 #f0f0f0!important;}
.ccp-body::-webkit-scrollbar{width:5px!important;}
.ccp-body::-webkit-scrollbar-track{background:#f0f0f0!important;border-radius:10px!important;}
.ccp-body::-webkit-scrollbar-thumb{background:#222!important;border-radius:10px!important;}
.ccp-header,.ccp-row{display:grid!important;width:100%!important;align-items:center!important;}
.ccp-header>div,.ccp-row>div{display:flex!important;justify-content:center!important;align-items:center!important;text-align:center!important;padding:0 10px!important;min-width:0!important;}
.ccp-header>div:first-child{justify-content:flex-start!important;text-align:left!important;padding-left:var(--ccp-first-indent,14px)!important;padding-right:0!important;}
.ccp-row>div:first-child{justify-content:flex-start!important;text-align:left!important;padding-left:var(--ccp-first-indent,14px)!important;padding-right:0!important;}
.ccp-header>div:last-child{justify-content:center!important;text-align:center!important;padding-left:var(--ccp-last-indent,10px)!important;padding-right:var(--ccp-last-indent,10px)!important;}
.ccp-row>div:last-child{justify-content:center!important;text-align:center!important;padding-left:var(--ccp-last-indent,10px)!important;padding-right:var(--ccp-last-indent,10px)!important;}
.ccp-row{padding:12px 0!important;font-size:13px!important;border-bottom:1px solid rgba(0,0,0,.04)!important;transition:background .15s!important;}
.ccp-row:last-child{border-bottom:none!important;}
.ccp-row:nth-child(even){background:#fafafa!important;}
.ccp-cell-click{cursor:pointer!important;}
.ccp-cell-size{cursor:default!important;}
.ccp-row.ccp-row-hovered{background:#fff3e8!important;}
.ccp-row.ccp-popular{background:#fffbf0!important;}
.ccp-row.ccp-popular:nth-child(even){background:#fffbf0!important;}
.ccp-price{font-weight:700!important;color:#111!important;}
.ccp-size-wrapper{position:relative!important;display:inline-block!important;}
.ccp-star{position:absolute!important;right:-10px!important;top:0!important;font-size:11px!important;font-weight:600!important;color:#c99a00!important;cursor:help!important;}
.ccp-star::after{content:attr(data-note)!important;position:absolute!important;top:-14px!important;left:50%!important;transform:translateX(-50%)!important;font-size:10px!important;white-space:nowrap!important;background:#333!important;color:#fff!important;padding:2px 6px!important;border-radius:4px!important;pointer-events:none!important;opacity:0!important;transition:opacity .2s!important;}
.ccp-star:hover::after{opacity:1!important;}
.ccp-scroll-btn{position:absolute!important;bottom:10px!important;right:10px!important;width:30px!important;height:30px!important;border-radius:50%!important;background:#e5e7eb!important;color:#111!important;border:none!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:14px!important;font-weight:900!important;cursor:pointer!important;z-index:2!important;padding:0!important;box-shadow:0 1px 6px rgba(0,0,0,.12)!important;}
.ccp-scroll-btn:hover{background:#d1d5db!important;}

/* =============================================
   MODAL BACKDROP
============================================= */
#ccp-modal-wrap{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;background:rgba(0,0,0,.55)!important;z-index:999999!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px!important;box-sizing:border-box!important;}
#ccp-modal-wrap.ccp-hidden{display:none!important;}

/* =============================================
   MODAL BOX
============================================= */
#ccp-modal-box{background:#fff!important;width:100%!important;max-width:520px!important;border-radius:20px!important;overflow:hidden!important;box-shadow:0 24px 64px rgba(0,0,0,.22)!important;max-height:92vh!important;overflow-y:auto!important;box-sizing:border-box!important;scrollbar-width:thin!important;scrollbar-color:#ccc #f5f5f5!important;}
#ccp-modal-box::-webkit-scrollbar{width:4px!important;}
#ccp-modal-box::-webkit-scrollbar-thumb{background:#ccc!important;border-radius:4px!important;}
#ccp-modal-inner{padding:22px 24px 26px!important;box-sizing:border-box!important;}
#ccp-modal-head{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:12px!important;margin-bottom:14px!important;}
#ccp-modal-title{margin:0!important;font-size:18px!important;font-weight:800!important;color:#111!important;line-height:1.25!important;font-family:inherit!important;background:none!important;padding:0!important;border:none!important;}
#ccp-modal-sub{margin:4px 0 0!important;font-size:12px!important;color:#9ca3af!important;line-height:1.4!important;font-family:inherit!important;padding:0!important;border:none!important;background:none!important;}
#ccp-btn-close{width:32px!important;height:32px!important;min-width:32px!important;flex-shrink:0!important;border-radius:50%!important;background:#f0f2f5!important;border:none!important;color:#555!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:15px!important;font-weight:800!important;padding:0!important;line-height:1!important;box-shadow:none!important;outline:none!important;}
#ccp-btn-close:hover{background:#e0e2e6!important;color:#111!important;}

/* =============================================
   PRODUCT INFO STRIP
============================================= */
#ccp-product-strip{background:#fff8f2!important;border:1.5px solid #ffe0bf!important;border-radius:12px!important;padding:12px 14px!important;margin-bottom:14px!important;}
#ccp-product-strip.ccp-hidden{display:none!important;}
#ccp-product-label{font-size:9px!important;font-weight:800!important;color:#FF7601!important;letter-spacing:.1em!important;text-transform:uppercase!important;margin:0 0 3px!important;font-family:inherit!important;}
#ccp-prod-name{font-size:14px!important;font-weight:800!important;color:#111!important;margin:0 0 8px!important;font-family:inherit!important;line-height:1.3!important;}
#ccp-pills{display:flex!important;flex-wrap:wrap!important;gap:5px!important;}
#ccp-pills.ccp-hidden{display:none!important;}
#ccp-pills span{font-size:11px!important;font-weight:600!important;color:#92400e!important;background:#fff!important;border:1px solid #ffd0a0!important;border-radius:20px!important;padding:3px 9px!important;white-space:nowrap!important;font-family:inherit!important;display:inline-block!important;line-height:1.5!important;}
#ccp-divider{height:1px!important;background:#f0f0f0!important;border:none!important;margin:0 0 16px!important;display:block!important;}

/* =============================================
   FORM
============================================= */
#ccp-row-1,#ccp-row-2{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:10px!important;}
#ccp-row-3{margin-bottom:0!important;}
#ccp-row-1>div,#ccp-row-2>div,#ccp-row-3>div{display:flex!important;flex-direction:column!important;gap:5px!important;}
#ccp-row-1 label,#ccp-row-2 label,#ccp-row-3 label{font-size:10px!important;font-weight:700!important;color:#374151!important;letter-spacing:.08em!important;text-transform:uppercase!important;font-family:inherit!important;background:none!important;padding:0!important;border:none!important;}
#ccp-name,#ccp-email,#ccp-phone,#ccp-zip{width:100%!important;padding:11px 13px!important;border-radius:10px!important;border:1.5px solid #e5e7eb!important;font-size:14px!important;font-family:inherit!important;color:#111!important;background:#f9fafb!important;box-sizing:border-box!important;outline:none!important;display:block!important;line-height:1.4!important;-webkit-appearance:none!important;appearance:none!important;box-shadow:none!important;}
#ccp-msg{width:100%!important;padding:11px 13px!important;border-radius:10px!important;border:1.5px solid #e5e7eb!important;font-size:14px!important;font-family:inherit!important;color:#111!important;background:#f9fafb!important;box-sizing:border-box!important;outline:none!important;display:block!important;resize:none!important;min-height:78px!important;line-height:1.55!important;-webkit-appearance:none!important;appearance:none!important;box-shadow:none!important;}
#ccp-name::placeholder,#ccp-email::placeholder,#ccp-phone::placeholder,#ccp-zip::placeholder,#ccp-msg::placeholder{color:#aab0bb!important;font-size:13px!important;font-style:normal!important;font-weight:400!important;}
#ccp-name:focus,#ccp-email:focus,#ccp-phone:focus,#ccp-zip:focus,#ccp-msg:focus{border-color:#FF7601!important;box-shadow:0 0 0 3px rgba(255,118,1,.13)!important;background:#fff!important;outline:none!important;}
.ccp-err{font-size:10px!important;font-weight:600!important;color:#ef4444!important;font-family:inherit!important;}
.ccp-err.ccp-hidden{display:none!important;}

/* =============================================
   ACTIONS
============================================= */
#ccp-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:18px!important;}
#ccp-btn-cancel{width:100%!important;padding:13px 16px!important;border-radius:50px!important;border:1.5px solid #d1d5db!important;background:#f5f5f5!important;color:#555!important;font-weight:600!important;font-size:14px!important;cursor:pointer!important;text-align:center!important;font-family:inherit!important;line-height:1.4!important;box-shadow:none!important;outline:none!important;display:block!important;box-sizing:border-box!important;-webkit-appearance:none!important;appearance:none!important;text-decoration:none!important;}
#ccp-btn-cancel:hover{background:#ebebeb!important;color:#222!important;border-color:#bbb!important;}
#ccp-btn-send{width:100%!important;padding:13px 16px!important;border-radius:50px!important;border:none!important;background:linear-gradient(135deg,#FF8C1A 0%,#e65c00 100%)!important;color:#fff!important;font-weight:800!important;font-size:14px!important;cursor:pointer!important;text-align:center!important;font-family:inherit!important;line-height:1.4!important;box-shadow:0 4px 18px rgba(255,118,1,.42)!important;outline:none!important;display:block!important;box-sizing:border-box!important;-webkit-appearance:none!important;appearance:none!important;text-decoration:none!important;}
#ccp-btn-send:hover{background:linear-gradient(135deg,#e57000 0%,#c94400 100%)!important;box-shadow:0 6px 22px rgba(255,118,1,.55)!important;color:#fff!important;}
#ccp-btn-send:disabled{opacity:.65!important;cursor:not-allowed!important;}

/* =============================================
   TOASTS
============================================= */
#ccp-toast-ok,#ccp-toast-err{position:fixed!important;bottom:24px!important;left:50%!important;transform:translateX(-50%) translateY(80px)!important;padding:11px 24px!important;border-radius:50px!important;z-index:1000000!important;color:#fff!important;font-weight:700!important;font-size:13px!important;font-family:-apple-system,sans-serif!important;opacity:0!important;transition:opacity .3s,transform .3s!important;pointer-events:none!important;white-space:nowrap!important;box-shadow:0 6px 24px rgba(0,0,0,.18)!important;}
#ccp-toast-ok{background:linear-gradient(135deg,#22c55e,#16a34a)!important;}
#ccp-toast-err{background:linear-gradient(135deg,#ef4444,#dc2626)!important;}
#ccp-toast-ok.ccp-show,#ccp-toast-err.ccp-show{opacity:1!important;transform:translateX(-50%) translateY(0)!important;}

@media(max-width:600px){
    #ccp-modal-wrap{align-items:flex-end!important;padding:0!important;}
    #ccp-modal-box{ border-radius:20px 20px 0 0!important; max-width:100%!important; max-height:94vh!important; }
    #ccp-modal-inner{padding:18px 16px 30px!important;}
    #ccp-row-1,#ccp-row-2{gap:8px!important;}
    #ccp-name,#ccp-email,#ccp-phone,#ccp-zip,#ccp-msg{font-size:16px!important;}
    #ccp-btn-cancel,#ccp-btn-send{font-size:13px!important;padding:12px 10px!important;}
}

/* =============================================
   WIDGET 3 — CABIN ACCORDION TABLE
============================================= */
.ccp-accordion-wrap {
    width: 100%; box-sizing: border-box; border: 1.5px solid #e5e7eb; border-radius: 14px;
    overflow: hidden; background: #fff; box-shadow: 0 2px 14px rgba(0,0,0,.07);
    font-family: inherit; min-height: 0;
}
.ccp-accordion-toggle {
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    padding: 15px 18px; cursor: pointer; user-select: none; background: #fff;
    border: none; outline: none; width: 100%; box-sizing: border-box;
    transition: background .15s ease; border-bottom: 1px solid #f3f4f6;
}
.ccp-accordion-toggle:hover { background: #fdf8f4; }
.ccp-accordion-toggle:focus-visible { outline: 2px solid #FF7601; outline-offset: -2px; }

/* Title and Subtitle Structural Stacking */
.ccp-accordion-text { display: flex; align-items: center; gap: 11px; flex: 1; min-width: 0; }
.ccp-accordion-text::before { content: ''; flex-shrink: 0; width: 4px; height: 36px; border-radius: 99px; background: #FF7601; display: block; }

.ccp-accordion-text-inner {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    width: 100%; 
}
.ccp-accordion-title {
    display: block !important; 
    width: 100% !important; 
    font-size: 14px; font-weight: 700; color: #111827; line-height: 1.25; 
    margin: 0 !important;
}
.ccp-accordion-subtitle {
    display: block !important; 
    width: 100% !important; 
    font-size: 11.5px; font-weight: 400; color: #9ca3af; line-height: 1.35; 
    margin: 0 !important;
}

.ccp-accordion-icon-wrap {
    flex-shrink: 0; width: 30px; height: 30px; border-radius: 8px; background: #FF7601;
    display: flex; align-items: center; justify-content: center;
    transition: background .15s ease, border-radius .2s ease; box-shadow: 0 2px 6px rgba(255,118,1,.28);
}
.ccp-accordion-toggle:hover .ccp-accordion-icon-wrap { background: #e56700; border-radius: 50%; }

.ccp-acc-chevron { width: 15px; height: 15px; color: #fff; display: block; transition: transform .28s cubic-bezier(.4,0,.2,1); transform: rotate(0deg); }
.ccp-accordion-wrap.ccp-acc-open .ccp-acc-chevron { transform: rotate(180deg); }
.ccp-accordion-wrap.ccp-acc-open .ccp-accordion-toggle { border-bottom-color: #e5e7eb; background: #fffaf6; }

.ccp-accordion-inner { width: 100%; box-sizing: border-box; overflow: hidden; }
.ccp-accordion-inner .ccp-wrapper { padding: 0 !important; margin: 0 !important; width: 100% !important; box-sizing: border-box !important; }
.ccp-accordion-inner .ccp-box { width: 100% !important; box-sizing: border-box !important; border-radius: 0 !important; box-shadow: none !important; border: none !important; }
.ccp-accordion-inner .ccp-header, .ccp-accordion-inner .ccp-row { min-width: 0 !important; width: 100% !important; box-sizing: border-box !important; }

@media (max-width: 600px) {
    .ccp-accordion-toggle  { padding: 12px 14px; gap: 10px; }
    .ccp-accordion-title   { font-size: 13px; }
    .ccp-accordion-subtitle{ font-size: 11px; }
    .ccp-accordion-icon-wrap{ width: 26px; height: 26px; border-radius: 6px; }
    .ccp-acc-chevron       { width: 13px; height: 13px; }
    .ccp-accordion-text::before { height: 28px; }
}

/* =============================================
   ICON-ONLY TRIGGER MODE (Simple Alignment)
============================================= */
.ccp-icon-align-wrap {
    display: block; width: 100%; box-sizing: border-box; line-height: 1;
    position: relative !important; min-height: 50px;
}

/* RESTORED: Standard relative positioning to obey Left/Center/Right */
.ccp-icon-trigger-wrap {
    display: inline-block;
    position: relative;
    z-index: 100;
}

.ccp-icon-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px; height: 40px;
    border-radius: 50% !important; 
    background: #FF7601; border: none; cursor: pointer; padding: 0; outline: none;
    box-shadow: 0 3px 12px rgba(255,118,1,.38);
    transition: background .15s ease, transform .15s ease, box-shadow .15s ease;
    position: relative; z-index: 10; vertical-align: top;
}
.ccp-icon-btn:hover { background: #e56700; transform: scale(1.09); box-shadow: 0 5px 18px rgba(255,118,1,.5); }
.ccp-icon-btn:focus-visible { box-shadow: 0 0 0 3px rgba(255,118,1,.4), 0 3px 12px rgba(255,118,1,.38); }
.ccp-icon-btn svg { width: 46%; height: 46%; color: #fff; display: block; pointer-events: none; }

.ccp-icon-dropdown {
    position: fixed; z-index: 999999; background: #fff; border: 1.5px solid #e5e7eb; border-radius: 18px;
    box-shadow: 0 15px 50px rgba(0,0,0,.18); overflow: hidden; max-width: 96vw;
}
.ccp-icon-dropdown-arrow {
    position: absolute; top: -7px; left: var(--ccp-arrow-left, 16px); width: 14px; height: 14px;
    background: #fff; border-left: 1.5px solid #e5e7eb; border-top: 1.5px solid #e5e7eb; transform: rotate(45deg);
    border-radius: 2px 0 0 0; pointer-events: none; z-index: 1;
}
.ccp-icon-dropdown.ccp-dd-above .ccp-icon-dropdown-arrow { top: auto; bottom: -7px; transform: rotate(225deg); border-radius: 0 0 2px 0; }
.ccp-icon-dropdown .ccp-wrapper { padding: 0 !important; margin: 0 !important; }
.ccp-icon-dropdown .ccp-box     { border-radius: 0 !important; box-shadow: none !important; border: none !important; }