.baco-portal{background:linear-gradient(180deg,#faf9f6 0,var(--color-cream,#f3f2eb) 100%);min-height:calc(100vh - 72px);padding:1.75rem 1.25rem 3rem}.baco-portal__inner{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:2rem}.baco-portal__intro{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding:2rem 2.25rem;background:#ffffff;border:1px solid #e8e2d8;border-radius:20px;box-shadow:0 8px 32px rgba(102,2,37,.06)}.baco-portal__eyebrow{margin:0 0 .5rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.baco-portal__eyebrow,.baco-portal__intro-copy h1{font-weight:600;color:var(--color-burdeos,#660225)}.baco-portal__intro-copy h1{font-family:var(--font-primary,"EB Garamond",serif);font-size:clamp(2rem,4vw,2.75rem);margin:0 0 .75rem;line-height:1.15}.baco-portal__tagline{margin:0 0 1.5rem;font-size:1.05rem;line-height:1.65;color:#5c5348;max-width:36rem}.baco-portal__intro-visual{min-width:0}.baco-portal__hero-image{width:100%;height:auto;display:block;border-radius:14px;object-fit:cover}.baco-portal__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.25rem}.baco-portal__step{padding:.85rem 1rem;background:#faf9f6;border-radius:12px;border:1px solid #ece7de}.baco-portal__step strong{display:block;font-size:.8rem;color:var(--color-burdeos,#660225);margin-bottom:.3rem}.baco-portal__step span{font-size:.82rem;line-height:1.45;color:#6b6560}.baco-portal__nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.baco-portal__nav-link{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .9rem;border-radius:999px;font-size:.85rem;font-weight:500;color:#374151;text-decoration:none;background:#faf9f6;border:1px solid #e5dfd4;transition:border-color .15s ease,color .15s ease,background .15s ease}.baco-portal__nav-link:hover{background:#fff;border-color:var(--color-burdeos-light,#8c1a3d);color:var(--color-burdeos,#660225)}.baco-portal__nav-link i{color:var(--color-burdeos,#660225);font-size:.85rem}.baco-portal__account{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.baco-portal__account-btn{display:inline-block;padding:.75rem 1.25rem;text-align:center;font-size:.9rem;font-weight:600;text-decoration:none;border-radius:10px;transition:background .15s ease,transform .15s ease}.baco-portal__account-btn--primary{background:var(--color-burdeos,#660225);color:#fff;border:none}.baco-portal__account-btn--primary:hover{background:var(--color-burdeos-dark,#4a0119);transform:translateY(-1px)}.baco-portal__account-note{margin:0;font-size:.85rem;color:#6b7280}.baco-portal__account-link{color:var(--color-burdeos,#660225);font-weight:500}.baco-portal__chat-section{display:flex;flex-direction:column;gap:1rem}.baco-portal__chat-heading{display:flex;align-items:center;gap:.85rem}.baco-portal__chat-avatar{border-radius:50%;object-fit:cover;border:2px solid var(--color-gold,#c9a84c);flex-shrink:0}.baco-portal__chat-heading h2{margin:0;font-family:var(--font-primary,"EB Garamond",serif);font-size:1.5rem;font-weight:600;color:#1f2937}.baco-portal__chat-heading p{margin:.2rem 0 0;font-size:.9rem;color:#6b7280}.baco-portal__prompts{display:flex;flex-wrap:wrap;gap:.5rem}.baco-portal__prompt-btn{display:inline-block;text-align:left;padding:.6rem .95rem;font-size:.84rem;line-height:1.4;color:#2d2a26;background:#ffffff;border:1px solid #e5dfd4;border-radius:999px;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.baco-portal__prompt-btn:hover{background:#fff;border-color:var(--color-burdeos-light,#8c1a3d);color:var(--color-burdeos,#660225)}.baco-portal-chat{display:flex;flex-direction:column;height:440px;min-height:400px;max-height:min(75vh,720px);background:#ffffff;border:1px solid #e8e2d8;border-radius:16px;box-shadow:0 12px 40px rgba(102,2,37,.08);overflow:hidden;transition:height .25s ease,min-height .25s ease;touch-action:manipulation}.baco-portal-chat--expanded{height:min(75vh,720px);min-height:560px}.baco-portal-chat__screen{position:fixed;inset:-100vh -100vw;z-index:1999;background:#fdfcfa;overscroll-behavior:none;touch-action:none}.baco-portal-chat--fullscreen{position:fixed;left:0;right:auto;bottom:auto;top:0;z-index:2000;width:100%;height:100dvh;max-height:none;min-height:0;border-radius:0;border:none;box-shadow:none;overflow:hidden;overscroll-behavior:none;transition:none}.baco-portal-chat--fullscreen .baco-portal-chat__header{padding-top:calc(.5rem + env(safe-area-inset-top, 0px));flex-wrap:nowrap}.baco-portal-chat--fullscreen .baco-portal-chat__header .baco-conversation-toolbar{width:auto;max-width:none;margin-left:auto;justify-content:flex-end}.baco-portal-chat--fullscreen .baco-portal-chat__messages{touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.baco-portal-chat--fullscreen .baco-portal-chat__composer{position:relative;z-index:5;flex-shrink:0;padding-bottom:calc(.7rem + env(safe-area-inset-bottom, 0px))}.baco-portal-chat--fullscreen.baco-portal-chat--keyboard .baco-portal-chat__header{padding-top:.5rem}.baco-portal-chat--fullscreen.baco-portal-chat--keyboard .baco-portal-chat__composer{padding-bottom:.7rem}html:has(.baco-portal-chat--fullscreen),html:has(.baco-portal-chat--fullscreen) body{overflow:hidden;overscroll-behavior:none}.baco-portal-chat__header{display:flex;align-items:center;gap:.55rem;padding:.5rem .9rem;background:#fff;border-bottom:1px solid #ece7de;flex-shrink:0;position:relative;z-index:20}.baco-portal-chat__header-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}button.baco-portal-chat__back{flex-shrink:0;width:auto;min-width:44px;height:44px;padding:0 .65rem 0 .35rem;margin:0 .1rem 0 -.45rem;border:none;border-radius:8px;background:transparent;background-color:transparent;color:#374151;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.15rem;font-family:inherit;font-size:.82rem;font-weight:600;line-height:1;transition:background .15s ease,color .15s ease}.baco-portal-chat__back-label{padding-bottom:1px}button.baco-portal-chat__back:active,button.baco-portal-chat__back:hover{background:rgba(102,2,37,.08);background-color:rgba(102,2,37,.08);color:var(--color-burdeos,#660225);transform:none}.baco-portal-chat__header-meta{flex:1;min-width:0;display:flex;align-items:baseline;gap:.4rem}.baco-portal-chat__header-title{margin:0;font-size:.85rem;font-weight:600;color:#1f2937;white-space:nowrap}.baco-portal-chat__header-status{margin:0;font-size:.7rem;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.baco-portal-chat__header .baco-conversation-toolbar{flex-shrink:0;margin-left:auto}.baco-portal-chat__messages{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;background:#fdfcfa;position:relative;z-index:0}.baco-portal-chat__bubble{display:flex;gap:.6rem;max-width:88%}.baco-portal-chat__bubble--user{align-self:flex-end;flex-direction:row-reverse}.baco-portal-chat__bubble-avatar{flex-shrink:0;border-radius:50%;object-fit:cover;margin-top:.15rem}.baco-portal-chat__bubble-body{padding:.85rem 1rem;border-radius:14px;font-size:.92rem;line-height:1.55}.baco-portal-chat__bubble-body p,.baco-portal-chat__markdown{margin:0 0 .35rem}.baco-portal-chat__markdown p{margin:0 0 .65em}.baco-portal-chat__markdown p:last-child{margin-bottom:0}.baco-portal-chat__markdown strong{font-weight:700}.baco-portal-chat__markdown em{font-style:italic}.baco-portal-chat__markdown ol,.baco-portal-chat__markdown ul{margin:.4em 0 .65em;padding-left:1.25rem}.baco-portal-chat__markdown li{margin-bottom:.25em}.baco-portal-chat__markdown a{color:inherit;text-decoration:underline}.baco-portal-chat__bubble-body time{display:block;font-size:.68rem;opacity:.65}.baco-portal-chat__bubble--baco .baco-portal-chat__bubble-body{background:#ffffff;border:1px solid #ece7de;color:#1f2937;border-bottom-left-radius:4px}.baco-portal-chat__bubble--user .baco-portal-chat__bubble-body{background:var(--color-burdeos,#660225);color:#ffffff;border-bottom-right-radius:4px}.baco-portal-chat__typing{display:flex;gap:4px;align-items:center;padding:1rem!important}.baco-portal-chat__typing span{width:7px;height:7px;border-radius:50%;background:var(--color-burdeos-light,#8c1a3d);animation:baco-portal-typing 1.2s ease-in-out infinite}.baco-portal-chat__typing span:nth-child(2){animation-delay:.15s}.baco-portal-chat__typing span:nth-child(3){animation-delay:.3s}.baco-followups{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.baco-followups__pill{border:1px solid rgba(102,2,37,.22);background:rgba(255,255,255,.72);color:#660225;font-family:Montserrat,Source Sans\ 3,system-ui,sans-serif;font-size:.75rem;font-weight:500;line-height:1.35;letter-spacing:.01em;padding:8px 12px;border-radius:999px;cursor:pointer;text-align:left;transition:background .2s ease,border-color .2s ease,opacity .2s ease}.baco-followups__pill:hover:not(:disabled){background:rgba(196,163,90,.18);border-color:rgba(196,163,90,.7)}.baco-followups__pill:disabled{opacity:.45;cursor:default}.baco-chat-modal-content .baco-followups__pill{border-color:rgba(102,2,37,.2);background:rgba(243,242,235,.9)}@keyframes baco-portal-typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.baco-portal-chat__composer{display:flex;gap:.5rem;align-items:flex-end;padding:.7rem .9rem;border-top:1px solid #ece7de;background:#ffffff;flex-shrink:0}.baco-portal-chat__composer textarea{flex:1;resize:none;padding:.65rem .9rem;font-family:inherit;font-size:.9rem;line-height:1.45;color:#1f2937;background:#faf9f6;border:1px solid transparent;border-radius:1.25rem;outline:none;transition:border-color .15s ease,background .15s ease}.baco-portal-chat__composer textarea:focus{border-color:rgba(102,2,37,.25);background:#fff}.baco-portal-chat__composer textarea:disabled{opacity:.7}.baco-portal-chat__send{flex-shrink:0;min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:0 .85rem;background:var(--color-burdeos,#660225);color:#fff;border:none;border-radius:999px;cursor:pointer;transition:background .15s ease,transform .15s ease,opacity .15s ease}.baco-portal-chat__send-label{display:none;font-size:.8rem;font-weight:600;letter-spacing:.01em}@media (min-width:640px){.baco-portal-chat__send-label{display:inline}.baco-portal-chat__send{padding:0 1rem}}.baco-portal-chat__send:hover:not(:disabled){background:var(--color-burdeos-dark,#4a0119);transform:translateY(-1px)}.baco-portal-chat__send:disabled{background:var(--color-burdeos,#660225);opacity:.35;cursor:not-allowed;transform:none}@media (max-width:900px){.baco-portal__intro{grid-template-columns:1fr;padding:1.5rem}.baco-portal__intro-visual{order:-1}.baco-portal__steps{grid-template-columns:1fr}.baco-portal-chat{height:400px;min-height:380px}.baco-portal-chat--expanded{height:min(70vh,640px);min-height:480px}.baco-portal-chat--fullscreen{height:100dvh;min-height:0;max-height:none}}@media (max-width:480px){.baco-portal{padding:1rem .75rem 2rem}.baco-portal__intro{padding:1.25rem}.baco-portal-chat__header{flex-wrap:wrap;row-gap:.35rem}.baco-portal-chat__header .baco-conversation-toolbar{width:100%;margin-left:0;justify-content:flex-end}.baco-portal-chat--fullscreen .baco-portal-chat__header{flex-wrap:nowrap;row-gap:0}.baco-portal-chat--fullscreen .baco-portal-chat__header .baco-conversation-toolbar{width:auto;max-width:min(42vw,9.5rem);margin-left:auto;justify-content:flex-end}.baco-portal-chat__bubble{max-width:95%}.baco-portal__account{flex-direction:column;align-items:flex-start}}.baco-chat-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.baco-chat-modal-content.baco-portal-chat{width:100%;max-width:600px;height:80vh;max-height:640px;min-height:0;margin:0}.baco-chat-modal-content .baco-portal-chat__send,.baco-chat-modal-content button.baco-portal-chat__send{background:var(--color-burdeos,#660225);color:#fff}.baco-chat-modal-content .baco-portal-chat__send:hover:not(:disabled),.baco-chat-modal-content button.baco-portal-chat__send:hover:not(:disabled){background:var(--color-burdeos-dark,#4a0119);color:#fff}.baco-chat-modal-content .baco-chat-close,.baco-chat-modal-content button.baco-chat-close{flex-shrink:0;order:5;background:transparent;background-color:transparent;border:none;color:#6b7280;width:44px;height:44px;padding:0;margin-left:.15rem;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.15rem;font-family:inherit;font-size:.82rem;font-weight:600;line-height:1;transition:background .15s ease,color .15s ease}.baco-chat-modal-content .baco-chat-close__back,.baco-chat-modal-content .baco-chat-close__label{display:none}.baco-chat-modal-content .baco-chat-close:hover,.baco-chat-modal-content button.baco-chat-close:hover{background:rgba(102,2,37,.06);background-color:rgba(102,2,37,.06);color:var(--color-burdeos,#660225)}.baco-chat-modal-content .baco-portal-chat__header .baco-conversation-toolbar{margin-left:auto}.baco-chat-modal-content .baco-portal-chat__bubble-body,.baco-chat-modal-content .baco-portal-chat__markdown,.baco-chat-modal-content .baco-portal-chat__markdown li,.baco-chat-modal-content .baco-portal-chat__markdown p{color:#1f2937}.baco-chat-modal-content .baco-portal-chat__bubble--user .baco-portal-chat__bubble-body,.baco-chat-modal-content .baco-portal-chat__bubble--user .baco-portal-chat__bubble-body p{color:#ffffff}.baco-chat-modal-content .baco-portal-chat__markdown a{color:inherit;text-decoration:underline}.baco-wine-cards{margin-top:12px;display:grid;gap:12px}.baco-wine-card{display:flex;flex-direction:column;gap:10px;background:#fff;border-radius:12px;padding:12px;border:1px solid #e8e2d8;box-shadow:0 6px 18px rgba(102,2,37,.04)}.baco-wine-card__link{display:flex;gap:12px;text-decoration:none;color:inherit;min-width:0}.baco-wine-card__link:hover .baco-wine-card__name{color:var(--color-burdeos,#660225)}.baco-wine-card__visual{flex-shrink:0;width:64px;height:92px;display:flex;align-items:center;justify-content:center;background:var(--color-cream,#f3f2eb);border-radius:8px;overflow:hidden}.baco-wine-card__image{max-width:78%;max-height:86%;width:auto;height:auto;object-fit:contain}.baco-wine-card__body,.baco-wine-card__meta{min-width:0;flex:1}.baco-wine-card__category{margin:0 0 2px;font-family:var(--font-ui,"Montserrat",sans-serif);font-size:.625rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-burdeos,#660225)}.baco-wine-card__name{margin:0;font-family:var(--font-display,"EB Garamond",serif);font-weight:500;color:var(--color-ink,#1a1512);font-size:1.05rem;line-height:1.2}.baco-wine-card__bodega{margin:3px 0 0;font-size:.75rem;color:var(--color-muted,#6b6560)}.baco-wine-card__facts,.baco-wine-card__info{margin:2px 0 0;font-size:.7rem;letter-spacing:.02em;color:var(--color-muted,#6b6560)}.baco-wine-card__price{margin:6px 0 0;font-family:var(--font-price,"Montserrat",sans-serif);font-size:.9375rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-ink,#1a1512)}.baco-wine-card__reason{font-size:.75rem;font-style:italic;line-height:1.35}.baco-wine-card__notes,.baco-wine-card__reason{margin:4px 0 0;color:var(--color-muted,#6b6560)}.baco-wine-card__notes{font-size:.6875rem}.baco-wine-card__buy{appearance:none;border:1px solid rgba(102,2,37,.28);background:#660225;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .2s ease,opacity .2s ease}.baco-wine-card__buy:hover:not(:disabled){background:#4d011c}.baco-wine-card__buy:disabled{cursor:default;opacity:.85}.baco-wine-card__cart-controls{display:flex;align-items:center;gap:8px}.baco-wine-card__qty{display:inline-flex;align-items:center;gap:0;border:1px solid rgba(102,2,37,.22);border-radius:6px;overflow:hidden;background:#fff;flex:1}.baco-wine-card__qty-btn{appearance:none;border:none;border-radius:0;background:#f7f5ef;color:#660225;width:36px;height:34px;padding:0;font-size:1rem;line-height:1;cursor:pointer;box-shadow:none;-webkit-tap-highlight-color:transparent;transition:background-color .12s ease}.baco-wine-card__qty-btn:active:not(:disabled){background:rgba(102,2,37,.12)}@media (hover:hover) and (pointer:fine){.baco-wine-card__qty-btn:hover:not(:disabled){background:#ebe6da}}.baco-wine-card__qty-btn:disabled{opacity:.5;cursor:default}.baco-wine-card__qty-value{flex:1;text-align:center;font-size:.875rem;font-weight:600;color:#111827;min-width:28px}.baco-wine-card__remove{appearance:none;border:1px solid rgba(102,2,37,.22);background:#fff;color:#660225;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:8px 10px;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .15s ease}.baco-wine-card__remove:hover:not(:disabled){background:#f7f5ef}.baco-wine-card__remove:disabled{opacity:.55;cursor:default}@media (max-width:768px){.baco-portal__nav,.baco-portal__steps{display:none}.baco-portal__hero-image{max-height:140px;object-position:center 20%}.baco-portal__tagline{font-size:.95rem;margin-bottom:1rem}.baco-portal-chat__composer textarea{font-size:16px}.baco-portal-chat--fullscreen .baco-portal-chat__header{flex-wrap:nowrap;row-gap:0}.baco-portal-chat--fullscreen .baco-portal-chat__header .baco-conversation-toolbar{width:auto;margin-left:auto;justify-content:flex-end}.baco-chat-modal-overlay{padding:0;align-items:stretch;justify-content:stretch}.baco-chat-modal-content.baco-portal-chat{height:100%;max-height:none;max-width:none;margin:0;border-radius:0;border:none}.baco-chat-modal-content .baco-portal-chat__header{padding-top:calc(.5rem + env(safe-area-inset-top, 0px));flex-wrap:wrap;row-gap:.3rem}.baco-chat-modal-content .baco-chat-close,.baco-chat-modal-content button.baco-chat-close{order:-1;width:auto;min-width:44px;padding:0 .65rem 0 .35rem;margin:0 .1rem 0 -.45rem;color:#374151}.baco-chat-modal-content .baco-chat-close__x{display:none}.baco-chat-modal-content .baco-chat-close__back{display:block}.baco-chat-modal-content .baco-chat-close__label{display:inline;padding-bottom:1px}.baco-chat-modal-content .baco-portal-chat__header .baco-conversation-toolbar{width:100%;order:3;margin-left:0;justify-content:flex-end}.baco-chat-modal-content .baco-portal-chat__composer{padding-bottom:calc(.7rem + env(safe-area-inset-bottom, 0px))}}@media (hover:none){.baco-chat-modal-content .baco-chat-close:hover,.baco-chat-modal-content button.baco-chat-close:hover,button.baco-portal-chat__back:hover{background:transparent;background-color:transparent;color:#374151}}