/* Shared geometry for décor and event quote docks. Only brand colors differ. */
:root {
    --rental-cart-height: 96px;
    --rental-nav-height: 96px;
    --rental-fab-size: 76px;
}
#decorCartDock, .decor-mobile-nav { --rental-accent:#e58396; --rental-soft:#fae9ed; --rental-strong:#a23955; }
#tcCheckoutDock, #tc-mobile-rental-nav { --rental-accent:#50cdbc; --rental-soft:#d4f1eb; --rental-strong:#087a70; }
body :is(#decorCartDock,#tcCheckoutDock) {
    box-sizing:border-box; left:0; right:0; width:100%; max-width:none; margin:0; padding:0!important;
    min-height:var(--rental-cart-height)!important; height:var(--rental-cart-height); border:0; border-top:3px solid var(--rental-accent)!important;
    background:#fff; color:#172030; box-shadow:0 -4px 22px #00000014; backdrop-filter:none; overflow:visible; font-family:Arial,sans-serif;
}
body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-inner,.tc-checkout-dock-inner) {
    box-sizing:border-box; display:grid; grid-template-columns:minmax(0,1fr) 230px 250px; align-items:center; gap:28px;
    width:calc(100% - 48px); max-width:1240px; height:calc(var(--rental-cart-height) - 3px); min-height:0!important;
    padding:12px 0!important; margin:0 auto;
}
body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-summary,.tc-dock-summary) {
    display:flex; align-items:center; gap:20px; min-width:0; min-height:44px; padding:0; margin:0; border:0; background:none; color:#172030; text-decoration:none; text-align:left;
}
body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-icon,.tc-dock-cart-icon) {
    box-sizing:border-box; display:flex; align-items:center; justify-content:center; flex:0 0 60px; width:60px; height:60px; padding:16px;
    border-radius:50%; background:var(--rental-soft); color:var(--rental-strong); font-size:28px;
}
body #tcCheckoutDock .tc-dock-cart-icon { padding:0; }
body #tcCheckoutDock .tc-dock-cart-icon svg { width:28px; height:28px; }
body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-copy,.tc-dock-copy) { display:flex; flex-direction:column; gap:6px; min-width:0; }
body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-copy>strong,.tc-dock-heading) { display:flex; align-items:center; gap:12px; margin:0; color:#172030; font:700 18px/1.25 Arial,sans-serif; }
body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-meta,.tc-checkout-meta) { display:block; margin:0; color:#555b60; font:400 14px/1.4 Arial,sans-serif; }
body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-count,#tcCartBadge) { display:none; }
body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-estimate,.tc-checkout-dock-mid) { min-width:0; padding-left:24px; border-left:1px solid #deddda; }
body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-estimate>span,.tc-dock-estimate-label,.decor-cart-estimate>small,.tc-dock-estimate-note) { display:block; color:#555b60; font:400 12px/1.35 Arial,sans-serif; }
body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-estimate>div,.tc-dock-price-line) { display:flex; align-items:center; flex-wrap:nowrap; gap:8px; min-width:0; margin:0; }
body :is(#decorCartDock,#tcCheckoutDock) :is(#decorCartTotal,#tcDockTotal2) { min-width:0; color:#172030; font:700 28px/1.25 Arial,sans-serif; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-review,#tcDockCheckoutBtn) {
    box-sizing:border-box; display:flex; align-items:center; justify-content:center; gap:16px; width:100%; min-height:52px; height:52px; padding:12px 20px;
    border:0; border-radius:12px; background:var(--rental-accent)!important; color:#172030; box-shadow:none; font:700 17px/1.3 Arial,sans-serif; text-transform:none; letter-spacing:normal; text-decoration:none; white-space:nowrap;
}
body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-review,#tcDockCheckoutBtn) svg { display:block!important; width:20px; height:20px; }
body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-review,#tcDockCheckoutBtn):hover { filter:brightness(1.05); transform:none; }
body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-estimate details,.tc-dock-total-info) { position:relative; display:block; flex:0 0 auto; margin:0; }
body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-estimate summary,.tc-dock-total-info summary) { display:flex; align-items:center; justify-content:center; width:24px; height:30px; min-height:30px; padding:0; margin:0; border:0; background:none; color:#172030; font-size:15px; list-style:none; cursor:pointer; }
body :is(#decorCartDock,#tcCheckoutDock) summary::-webkit-details-marker { display:none; }
body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-estimate details>p,.tc-dock-total-info>div) { position:absolute; inset:auto -10px calc(100% + 8px) auto; width:min(280px,calc(100vw - 32px)); padding:16px; margin:0; background:#fff; color:#172030; border:1px solid #deddda; border-radius:10px; box-shadow:0 4px 20px #0002; font:400 14px/1.5 Arial,sans-serif; z-index:2; }
body :is(#decorCartDock,#tcCheckoutDock) :is(a,button,summary):focus-visible { outline:3px solid var(--rental-strong); outline-offset:3px; }
body.decor-navigation.decor-has-cart { --decor-cart-clearance:96px; }
@media(max-width:991.98px) {
    :root { --rental-cart-height:84px; }
    body.decor-navigation.decor-has-cart { --decor-cart-clearance:84px; }
    body :is(.decor-mobile-nav,#tc-mobile-rental-nav) {
        box-sizing:border-box; position:fixed; left:0!important; right:0!important; bottom:var(--owc-ios-bottom-gap,0px)!important;
        width:100%!important; height:calc(var(--rental-nav-height) + env(safe-area-inset-bottom,0px))!important; min-height:0!important;
        padding:0 0 env(safe-area-inset-bottom,0px)!important; margin:0!important; border:0!important; border-radius:0!important;
        background:#222!important; box-shadow:none!important; overflow:visible!important;
    }
    body :is(.decor-mobile-nav,#tc-mobile-rental-nav) :is(.decor-mobile-nav-inner,.sc-bottom-bar) {
        box-sizing:border-box; display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:start!important; gap:0!important;
        width:100%!important; max-width:640px!important; height:var(--rental-nav-height)!important; min-height:0!important; padding:0!important; margin:0 auto!important; background:none!important;
    }
    /* The catalog has three actions, overriding the shared five-column dock. */
    body.browse-decor-page .decor-mobile-nav .decor-mobile-nav-inner { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
    body :is(.decor-mobile-nav,#tc-mobile-rental-nav) :is(.decor-mobile-item,.tc-cat-item,.tc-cat-item-no-scroll) {
        box-sizing:border-box; position:relative; display:flex!important; flex-direction:column; align-items:center!important; justify-content:flex-start!important; gap:8px!important;
        width:100%!important; min-width:0; max-width:none!important; height:var(--rental-nav-height)!important; min-height:var(--rental-nav-height)!important;
        padding:20px 2px 12px!important; margin:0!important; border:0; background:transparent!important; color:#fff!important; font:700 12px/1.3 Arial,sans-serif!important; text-align:center; text-decoration:none;
    }
    body :is(.decor-mobile-nav,#tc-mobile-rental-nav) :is(.decor-mobile-item>svg,.decor-mobile-item>.fas,.decor-mobile-item>.far,.tc-mobile-nav-icon) { width:28px!important; height:28px!important; flex:0 0 28px; font-size:28px; color:inherit; }
    body :is(.decor-mobile-nav,#tc-mobile-rental-nav) :is(.tc-cat-label,.tc-cat-label-wizard,.decor-mobile-center-label) { display:block; width:100%!important; max-width:none!important; margin:0!important; padding:0!important; font:700 12px/1.3 Arial,sans-serif!important; letter-spacing:0; text-transform:none; white-space:normal!important; color:#fff!important; }
    body :is(.decor-mobile-nav,#tc-mobile-rental-nav) :is(.decor-mobile-center,.browse-mobile-my-decor,.tc-cat-center-fab) { padding:0!important; margin:0!important; gap:0!important; transform:none!important; }
    body :is(.decor-mobile-nav,#tc-mobile-rental-nav) :is(.decor-mobile-fab,.tc-cat-center-fab-ring) {
        box-sizing:border-box; position:absolute; display:flex!important; align-items:center; justify-content:center; top:-30px!important; left:50%!important; transform:translateX(-50%)!important;
        width:var(--rental-fab-size)!important; height:var(--rental-fab-size)!important; min-width:0; margin:0!important; padding:0!important;
        border:5px solid #fff!important; border-radius:50%!important; background:var(--rental-accent)!important; color:#222!important;
        box-shadow:0 0 0 5px #d4e5e029!important; font-size:32px!important; animation:none!important;
    }
    body :is(.decor-mobile-nav,#tc-mobile-rental-nav) :is(.decor-mobile-fab>svg,.decor-mobile-fab>.fas,.tc-cat-center-fab-icon) { width:34px!important; height:34px!important; font-size:34px!important; color:#222!important; }
    body :is(.decor-mobile-nav,#tc-mobile-rental-nav) :is(.decor-mobile-center-label,.tc-cat-label-wizard) { position:absolute; top:54px; bottom:auto!important; left:0; display:flex!important; align-items:center; justify-content:center; height:34px; }
    body .decor-mobile-nav .decor-mobile-center-label { color:var(--rental-accent)!important; }
    body :is(.decor-mobile-nav,#tc-mobile-rental-nav) :is(.decor-mobile-item.is-active:not(.decor-mobile-center):not(.browse-mobile-my-decor),.tc-cat-item.is-active:not(.tc-cat-center-fab))::after { content:''; position:absolute; bottom:6px; left:calc(50% - 3px); width:6px; height:6px; border-radius:50%; background:var(--rental-accent); }
    body :is(.decor-mobile-nav,#tc-mobile-rental-nav) :is(.decor-mobile-item.is-active>svg,.tc-cat-item.is-active>.tc-mobile-nav-icon) { color:var(--rental-accent)!important; }
    body :is(.decor-mobile-nav,#tc-mobile-rental-nav) :is(.decor-mobile-fab,.tc-cat-center-fab-ring)::before,
    body :is(.decor-mobile-nav,#tc-mobile-rental-nav) :is(.decor-mobile-fab,.tc-cat-center-fab-ring)::after { display:none!important; }
    body :is(.decor-mobile-nav,#tc-mobile-rental-nav) :is(a,button):focus-visible { outline:3px solid var(--rental-accent); outline-offset:-4px; }
    body :is(#decorCartDock,#tcCheckoutDock) { bottom:calc(var(--rental-nav-height) + var(--owc-ios-bottom-gap,0px) + env(safe-area-inset-bottom,0px))!important; border-radius:18px 18px 0 0; }
    body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-inner,.tc-checkout-dock-inner) { grid-template-columns:56px minmax(0,1fr) 118px; gap:10px; width:calc(100% - 28px); padding:10px 0 24px!important; }
    body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-summary,.tc-dock-summary) { gap:6px; min-height:44px; }
    body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-icon,.tc-dock-cart-icon) { display:flex; flex:0 0 20px; width:20px; height:24px; padding:0; border-radius:0; background:none; color:#172030; font-size:20px; }
    body #tcCheckoutDock .tc-dock-cart-icon svg { display:block!important; width:20px; height:20px; }
    body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-copy>strong,.tc-dock-heading) { gap:0; font-size:0; }
    body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-count,#tcCartBadge) { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; order:initial; min-width:22px; max-width:30px; height:24px; padding:0 4px; border-radius:50%; background:var(--rental-accent); color:#172030; font:700 12px/1 Arial,sans-serif; overflow:hidden; }
    body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-meta,.tc-checkout-meta,.decor-cart-estimate>small,.tc-dock-estimate-note) { display:none; }
    body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-estimate,.tc-checkout-dock-mid) { padding-left:10px; }
    body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-estimate>span,.tc-dock-estimate-label) { font-size:10px; line-height:1.4; white-space:nowrap; }
    body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-estimate>div,.tc-dock-price-line) { gap:4px; }
    body :is(#decorCartDock,#tcCheckoutDock) :is(#decorCartTotal,#tcDockTotal2) { font-size:20px; }
    body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-estimate summary,.tc-dock-total-info summary) { width:18px; height:26px; min-height:26px; font-size:13px; }
    body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-review,#tcDockCheckoutBtn) { height:46px; min-height:46px; padding:10px; gap:8px; font-size:12px; }
    body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-review,#tcDockCheckoutBtn) svg { width:14px; height:14px; }
    body.decor-navigation .decor-footer { padding-bottom:calc(126px + var(--decor-cart-clearance,0px) + env(safe-area-inset-bottom,0px)); }
    body.browse-decor-page .decor-footer { padding-bottom:calc(150px + var(--decor-cart-clearance,0px) + env(safe-area-inset-bottom,0px)); }
}
@media(max-width:359.98px) {
    body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-inner,.tc-checkout-dock-inner) { grid-template-columns:56px minmax(0,1fr) 104px; gap:8px; }
    body :is(#decorCartDock,#tcCheckoutDock) :is(#decorCartTotal,#tcDockTotal2) { font-size:18px; }
    body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-review,#tcDockCheckoutBtn) { font-size:11px; gap:6px; padding:8px; }
    body :is(.decor-mobile-nav,#tc-mobile-rental-nav) :is(.decor-mobile-item,.tc-cat-label,.tc-cat-label-wizard,.decor-mobile-center-label) { font-size:11px!important; }
}

@media(max-width:991.98px) {
    body.decor-gallery-page .gw-mobile-nav { box-sizing:border-box; height:calc(var(--rental-nav-height) + env(safe-area-inset-bottom,0px)); padding:0 4px env(safe-area-inset-bottom,0px); }
    body.decor-gallery-page .gw-mobile-nav :is(a,button) { justify-content:center; min-height:var(--rental-nav-height); gap:8px; font:700 12px/1.3 Arial,sans-serif; }
    body.decor-gallery-page .gw-mobile-nav svg { width:28px; height:28px; }
}

@media(max-width:991.98px) {
    body.tc-has-cart-dock #tc-mobile-rental-nav .tc-cat-center-fab { margin:0!important; padding:0!important; }
    body :is(.decor-mobile-nav,#tc-mobile-rental-nav) :is(.decor-mobile-center-label,.tc-cat-label-wizard) { color:var(--rental-center-label-color,#fff)!important; }
    .decor-mobile-nav { --rental-center-label-color:var(--rental-accent); }
}

@media(max-width:991.98px) {
    body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-inner,.tc-checkout-dock-inner,.decor-cart-estimate,.tc-checkout-dock-mid,.decor-cart-estimate details,.tc-dock-total-info) { position:static; }
    body :is(#decorCartDock,#tcCheckoutDock) :is(.decor-cart-estimate details>p,.tc-dock-total-info>div) { left:14px; right:14px; bottom:calc(100% + 10px); width:auto; max-width:360px; margin:0 auto; }
}
