/* Egg Tart storefront: giữ nguyên thiết kế UI/UX gốc (Egg_Tart_Claude_Handoff), bổ sung phần đặt hàng thật ở cuối file. */
:root{--blue:#163f78;--sky:#91b6e7;--cream:#fffef0;--paper:#f7f5e8;--red:#a84232;--ink:#18385c;--line:#d9dfd5;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px}button,a{-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}button:disabled{opacity:.45;cursor:default}.announcement{text-align:center;background:var(--blue);color:var(--cream);font-size:10px;letter-spacing:1.9px;padding:12px 20px}.announcement span{padding:0 22px;color:var(--sky)}.announcement.paused{background:var(--red);font-size:12px;letter-spacing:.3px}header{height:102px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 5.5%;background:var(--cream);border-bottom:1px solid #163f781a;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:32px;font-weight:bold;letter-spacing:-1.5px}.brand-icon{position:relative;border:1px solid var(--blue);border-radius:50%;width:44px;height:44px;text-align:center;line-height:40px;font-size:29px;font-style:italic}.brand-icon span{position:absolute;font-size:14px;right:-6px;top:-13px;background:var(--cream);line-height:20px}.brand small{display:block;font:8px Arial;letter-spacing:1.7px;margin-top:2px}nav{display:flex;gap:35px;font-size:13px}nav a:hover{color:var(--red)}.cart-trigger{display:flex;align-items:center;gap:11px;border:1px solid var(--blue);border-radius:30px;padding:10px 15px;background:transparent;font-size:12px}.cart-trigger svg{width:19px;height:22px}.cart-trigger b{background:var(--blue);color:var(--cream);border-radius:50%;min-width:21px;height:21px;display:grid;place-items:center;font-size:10px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:610px;padding:54px 5.5% 54px;overflow:hidden;align-items:center}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.9px;line-height:1.8}.hero .eyebrow{display:flex;align-items:center;gap:10px}.tiny-star{font-size:24px}h1,h2,h3,p{margin:0}h1{font:clamp(44px,5.7vw,86px)/1.13 var(--serif);letter-spacing:-3.3px;margin:24px 0}em{font-weight:400;color:var(--red)}.hero p{font-size:14px;line-height:1.9;color:#5b6d7a}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:29px}.button{background:var(--blue);color:var(--cream);border:1px solid var(--blue);padding:17px 22px;display:inline-flex;justify-content:space-between;align-items:center;gap:24px;border-radius:5px;font-size:12px;line-height:1.3;transition:background .2s,transform .2s}.button:hover{background:#23558e;transform:translateY(-2px)}.button span{font-size:20px;line-height:15px}.text-link{font-size:12px;border-bottom:1px solid #163f7870;padding:12px 0}.text-link span{padding-left:10px}.hero-foot{display:flex;align-items:center;gap:15px;margin-top:52px;font-size:10px;letter-spacing:.4px}.mini-line{width:60px;height:1px;background:#b9c3bb}.hero-art{height:480px;position:relative;display:grid;place-items:center}.hero-round{width:85%;aspect-ratio:1;background:var(--sky);border-radius:50%;position:absolute;transform:rotate(-10deg);max-width:440px}.orbit{position:absolute;width:98%;height:88%;border:1px solid #163f7830;transform:rotate(-19deg);border-radius:50%}.hero-product{position:absolute;width:91%;transform:rotate(-9deg);top:105px;left:0;filter:drop-shadow(12px 26px 12px #713d191f);mix-blend-mode:multiply}.sprite{position:relative;overflow:hidden}.sprite img{position:absolute;max-width:none;display:block}.vanilla{aspect-ratio:390/290}.vanilla img{width:330.77%;left:-14.1%;top:-151.72%}.caramel{aspect-ratio:400/305}.caramel img{width:322.5%;left:-205%;top:-226.23%}.double{aspect-ratio:405/335}.double img{width:318.52%;left:-14.81%;top:-292.54%}.matcha{aspect-ratio:455/365}.matcha img{width:283.52%;left:-172.53%;top:-336.99%}.round-stamp{position:absolute;right:0;top:14px;background:var(--red);color:var(--cream);width:103px;height:103px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font-size:11px;letter-spacing:1.4px;line-height:1.1;transform:rotate(13deg);outline:1px dashed #fffef080;outline-offset:-8px}.round-stamp span{margin:-5px 0;font-size:17px}.hero-caption{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);text-align:center;display:flex;flex-direction:column;gap:8px;width:200px}.hero-caption span{font-size:9px;letter-spacing:1.2px}.hero-caption strong{font:25px var(--serif)}.art-star{position:absolute;z-index:2}.star-one{top:0;left:13%;font-size:50px}.star-two{bottom:78px;right:6%;font-size:30px}.handwritten{position:absolute;right:-7px;bottom:13px;font:italic 18px var(--serif);color:var(--red);transform:rotate(-10deg)}.ticker{display:flex;justify-content:space-around;gap:25px;white-space:nowrap;overflow:hidden;padding:21px 20px;background:var(--sky);border-block:1px solid #163f7820;color:var(--blue);font-size:17px}.ticker span{font-size:11px;letter-spacing:2px;line-height:20px}.section{padding:90px 5.5%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px}h2{font:clamp(32px,3.15vw,49px)/1.24 var(--serif);letter-spacing:-1.5px;margin-top:13px}.section-heading p,.sets-intro>p,.inside-copy>p{font-size:13px;line-height:1.9;color:#657377}.filter-row{display:flex;gap:10px;margin:35px 0 29px}.filter{padding:10px 21px;border:1px solid #163f7830;border-radius:30px;background:transparent;font-size:11px}.filter.active{background:var(--blue);color:var(--cream);border-color:var(--blue)}.filter span{padding-left:10px;opacity:.65}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.product-picture{border:0;width:100%;background:#edeedf;position:relative;border-radius:7px;overflow:hidden;aspect-ratio:1;display:flex;align-items:center;padding:14px;transition:background .2s}.product-picture:hover .sprite{transform:scale(1.05) rotate(-3deg)}.product-picture .sprite{width:100%;mix-blend-mode:multiply;transition:transform .4s}.product-card.flavor-caramel .product-picture{background:#f3e6d5}.product-card.flavor-double .product-picture{background:#f2dfce}.product-card.flavor-matcha .product-picture{background:#e2e8cd}.badge{position:absolute;top:16px;left:15px;z-index:2;font-size:8px;letter-spacing:1px;border:1px solid #163f7855;border-radius:20px;padding:6px 9px;background:#fffef09c}.product-code{position:absolute;right:13px;bottom:12px;font:italic 20px var(--serif);opacity:.4}.product-heading{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:5px}.name-button{border:0;background:transparent;padding:0;font:23px var(--serif);text-align:left}.add-product{background:transparent;border:1px solid #163f7860;width:31px;height:31px;flex-shrink:0;border-radius:50%;font-size:21px;line-height:24px}.add-product:hover{background:var(--blue);color:var(--cream)}.product-card p{color:#748184;font-size:11px;margin:9px 0 15px;line-height:1.6;min-height:35px}.product-price{font-size:13px}.product-price small{font-size:10px;color:#768386;font-weight:400}.menu-note{display:flex;gap:12px;align-items:center;justify-content:center;border-top:1px solid var(--line);padding-top:26px;margin-top:38px;font-size:11px;color:#697775}.menu-note>span{font-size:21px;color:var(--red)}.menu-note a{text-decoration:underline;text-underline-offset:4px;color:var(--blue)}.sets{background:#e9eef2;display:grid;grid-template-columns:1fr 1.08fr;gap:8%;position:relative}.sets:before{content:'';position:absolute;top:-10px;left:0;right:0;height:15px;background:radial-gradient(circle at 12px 0px,var(--cream) 11px,transparent 12px) repeat-x;background-size:24px 16px}.sets-intro h2{margin-top:18px}.sets-intro>p{max-width:345px;margin-top:21px}.set-doodle{font:italic 50px var(--serif);color:var(--red);margin-top:27px;transform:rotate(-5deg);display:inline-block}.set-doodle span{font:italic 16px var(--serif);display:block;text-align:center;margin-top:6px}.set-selector{background:var(--cream);border:1px solid #c4d1db;border-radius:9px;padding:27px}.set-tabs{display:flex;border-bottom:1px solid #d5dedf;margin-bottom:18px}.set-tabs button{flex:1;border:0;background:transparent;padding:4px 0 17px;font-size:12px;position:relative;color:#778286}.set-tabs .active{color:var(--blue);font-weight:bold}.set-tabs .active:after{content:'';height:2px;background:var(--blue);position:absolute;bottom:-1px;left:0;right:0}.set-option{display:flex;align-items:center;gap:12px;padding:16px 12px;border:1px solid transparent;border-radius:5px;cursor:pointer;margin-bottom:5px}.set-option:has(input:checked){border-color:#91b6e7;background:#91b6e713}.set-option input{accent-color:var(--blue);margin:0}.set-option div{flex:1}.set-option strong{font-size:13px}.set-option small{display:block;font-size:10px;color:#748080;margin-top:5px}.set-option>b{font-size:13px;color:var(--red)}.set-bottom{padding-top:16px;margin-top:13px;border-top:1px solid var(--line)}.set-bottom p{font-size:10px;color:#748080;line-height:1.6;margin-bottom:15px}.set-bottom .button{width:100%}.inside{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.inside-photo{border-radius:220px 220px 8px 8px;overflow:hidden;background:#130904}.inside-photo img{display:block;width:100%}.inside-copy>p{margin-top:20px;margin-bottom:28px}.layer{display:flex;gap:20px;padding:20px 0;border-top:1px solid var(--line)}.layer>span{color:var(--red);font:italic 20px var(--serif)}.layer h3{font:21px var(--serif)}.layer p{font-size:12px;color:#748080;line-height:1.8;margin-top:7px}.faq{padding-top:35px;display:grid;grid-template-columns:1fr 1.3fr;gap:8%;padding-bottom:100px}.questions details{border-bottom:1px solid var(--line)}.questions summary{font-size:13px;padding:22px 22px 22px 0;cursor:pointer;list-style:none;position:relative}.questions summary:after{content:'+';position:absolute;right:0;font-size:19px;top:18px}.questions details[open] summary:after{content:'−'}.questions p{font-size:12px;color:#748080;line-height:1.9;padding:0 25px 20px 0}.closing{background:var(--blue);color:var(--cream);text-align:center;padding:60px 5.5% 0;overflow:hidden;position:relative}.closing>span{color:var(--sky);font-size:33px}.closing h2{font-size:45px;line-height:1.3;margin:20px 0 28px}.closing em{color:var(--sky)}.light{background:var(--cream);color:var(--blue);border:0}.light:hover{background:var(--sky)}.closing-word{font:clamp(100px,22vw,340px)/.75 var(--serif);letter-spacing:-.06em;margin:65px 0 -4px;color:var(--sky);opacity:.5;white-space:nowrap}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 5.5%;font-size:10px}.footer-brand{font:bold 25px var(--serif);letter-spacing:-1px}.footer-brand span{font-size:14px;color:var(--red)}footer>span{color:#7c8583}dialog{border:0;padding:0;background:var(--cream);color:var(--ink);box-shadow:0 10px 70px #00173130}dialog::backdrop{background:#0b223d80;backdrop-filter:blur(4px)}.close{position:absolute;right:17px;top:17px;border:1px solid #163f7830;border-radius:50%;width:35px;height:35px;background:var(--cream);font:25px Arial;z-index:3}.close:hover{background:var(--sky)}#product-dialog{width:min(820px,92vw);border-radius:12px;max-height:90dvh;overflow:auto}#product-dialog[open]{display:grid;grid-template-columns:1.1fr 1fr}#detail-image{width:100%;height:100%;object-fit:contain;background:#160b06}.detail-copy{padding:70px 30px 40px}.detail-copy h2{font-size:35px;margin-bottom:18px}.detail-copy p{font-size:13px;line-height:1.9;color:#63767c}.detail-copy>strong{font:27px var(--serif);display:block;color:var(--red);margin:24px 0}.detail-copy>.button{width:100%}#cart-dialog{margin:0 0 0 auto;width:min(480px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;position:fixed;top:0;right:0;padding:32px;overflow:auto}#cart-dialog[open]{display:flex;flex-direction:column}.cart-top{padding-bottom:25px;border-bottom:1px solid var(--line);position:relative}.cart-top .close{right:0;top:0}.cart-top h2{font-size:31px;letter-spacing:-1px}.cart-top h2 span{color:var(--red)}.cart-top .eyebrow{font-size:8px;letter-spacing:1.4px}.cart-item{display:flex;gap:14px;border-bottom:1px solid var(--line);padding:23px 0;align-items:center}.cart-thumb{width:78px;height:78px;display:flex;align-items:center;background:#e9eddf;border-radius:7px;flex-shrink:0}.cart-thumb .sprite{width:100%;mix-blend-mode:multiply}.cart-info{flex:1}.cart-info h3{font:18px var(--serif)}.cart-info p{font-size:10px;color:#718184;line-height:1.5;margin-top:5px}.cart-item-price{font-size:12px;display:block;margin:10px 0}.quantity{display:flex;align-items:center;gap:14px;font-size:12px}.quantity button{border:1px solid #c0cace;background:transparent;width:25px;height:25px;border-radius:50%}.quantity .remove{margin-left:auto;width:auto;border:0;text-decoration:underline;font-size:10px;color:#7b8481}.empty-cart{text-align:center;padding:65px 10px}.empty-cart>span{font-size:45px;color:var(--sky)}.empty-cart h3{font:27px var(--serif);margin:20px 0 10px}.empty-cart p{font-size:13px;color:#70807d;line-height:1.8;margin-bottom:25px}#cart-summary{margin-top:auto;padding-top:35px}.total{display:flex;justify-content:space-between;align-items:center;font-size:14px}.total strong{font:26px var(--serif);color:var(--red)}#cart-summary>p{font-size:11px;color:#788480;margin:12px 0 22px}#cart-summary .button{width:100%}#cart-summary small{display:block;font-size:9px;color:#788480;line-height:1.7;text-align:center;margin-top:15px}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);opacity:0;background:var(--blue);color:var(--cream);padding:15px 25px;border-radius:30px;font-size:12px;z-index:100;transition:all .25s;pointer-events:none;box-shadow:0 5px 30px #00173125;max-width:90vw;width:max-content;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}#checkout-dialog{width:min(550px,94vw);border-radius:12px;max-height:90dvh;overflow:auto}.checkout-content{padding:50px 32px 32px}.checkout-content h2{font-size:34px}.demo-notice{background:#91b6e725;border:1px solid #91b6e750;border-radius:5px;font-size:12px;line-height:1.8;padding:14px;margin:22px 0}.review-item{display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.6;margin:12px 0}.review-total{border-top:1px solid var(--line);margin:20px 0;padding-top:15px;display:flex;justify-content:space-between}.review-total strong{color:var(--red)}fieldset{border:0;padding:15px 0;margin:0 0 15px}legend,.note-label{font-size:12px;font-weight:bold}.note-label span{font-weight:normal;color:#7b8481}fieldset label{display:block;margin-top:14px;font-size:12px}input[type=radio]{accent-color:var(--blue)}textarea{width:100%;resize:vertical;border:1px solid #c4ced0;border-radius:5px;padding:12px;background:transparent;color:var(--ink);font-size:12px;line-height:1.7;min-height:90px;margin:12px 0 20px}#checkout-form>.button{width:100%}#order-success{text-align:center;padding-top:10px}#order-success>span{font-size:50px;color:var(--red)}#order-success h3{font:30px var(--serif);margin:18px 0}#order-success p{font-size:13px;line-height:1.9;color:#718184;margin-bottom:25px}[hidden]{display:none!important}@media(min-width:1500px){header,.hero,.section,footer{padding-left:max(5.5%,calc((100vw - 1320px)/2));padding-right:max(5.5%,calc((100vw - 1320px)/2))}}@media(max-width:1050px){header{height:85px}.hero{min-height:540px}.hero-art{height:390px}.hero-product{top:80px}.hero-actions{gap:16px}.hero-actions .button{padding:15px}.handwritten{display:none}.round-stamp{width:83px;height:83px;font-size:9px;right:-10px}.hero-caption{bottom:-12px}.hero-foot{margin-top:35px}.product-grid{gap:16px}.name-button{font-size:20px}.inside{gap:6%}.hero .eyebrow{font-size:8px}.section{padding-top:70px;padding-bottom:70px}footer p{display:none}}@media(max-width:760px){.announcement{font-size:8px;letter-spacing:1.3px}.announcement span{padding:0 10px}header{height:78px;padding-inline:6%;gap:12px}.brand{font-size:28px;gap:9px}.brand-icon{width:35px;height:35px;font-size:23px;line-height:32px}.brand small{font-size:6px}nav{gap:15px;font-size:11px}nav a:last-child{display:none}.cart-trigger{padding:8px;gap:6px}.cart-trigger>span{display:none}.hero{grid-template-columns:1fr;padding:38px 6% 35px;gap:5px;min-height:0}.hero h1{font-size:59px;letter-spacing:-2.8px;margin:19px 0}.hero .eyebrow{font-size:9px}.hero p{font-size:13px}.hero-actions{gap:22px;margin-top:24px}.hero-actions .button{font-size:11px;padding:16px 17px}.text-link{font-size:11px}.hero-foot{display:none}.hero-art{height:355px;max-width:450px;width:100%;margin:auto}.hero-round{width:76%;max-width:310px}.hero-product{width:80%;left:6%;top:64px}.orbit{width:88%;height:80%;top:40px}.round-stamp{right:5%;top:15px;width:78px;height:78px}.star-one{font-size:36px;left:9%;top:12px}.star-two{font-size:26px;right:10%;bottom:63px}.hero-caption{bottom:-5px}.hero-caption strong{font-size:23px}.hero-caption span{font-size:8px}.ticker{padding:16px 10px;justify-content:start;gap:30px}.ticker span{font-size:9px;letter-spacing:1.5px}.section{padding:55px 6%}.section-heading{display:block}.section-heading p{margin-top:17px;font-size:12px}h2{font-size:35px;letter-spacing:-1.4px}.filter-row{margin:26px 0 23px;gap:7px;flex-wrap:wrap}.filter{padding:9px 13px;font-size:10px}.product-grid{grid-template-columns:repeat(2,1fr);gap:28px 15px}.product-picture{padding:8px}.badge{top:10px;left:9px;font-size:7px;padding:5px 7px}.product-heading{margin-top:14px}.name-button{font-size:20px;line-height:1.2}.add-product{width:27px;height:27px;font-size:19px}.product-card p{font-size:10px;min-height:34px;margin:9px 0 13px}.product-code{font-size:17px}.menu-note{flex-wrap:wrap;gap:6px;font-size:10px;line-height:1.8;margin-top:30px;padding-top:20px}.menu-note a{width:100%;text-align:center}.sets{grid-template-columns:1fr;gap:27px}.sets-intro h2{margin-top:13px}.sets-intro>p{font-size:12px;margin-top:15px;max-width:none}.set-doodle{display:none}.set-selector{padding:21px 16px}.set-option{padding:14px 9px}.inside{grid-template-columns:1fr;gap:32px}.inside-photo{max-width:420px;margin:auto;border-radius:200px 200px 8px 8px}.inside-copy h2 br{display:none}.inside-copy>p{font-size:12px;margin:18px 0}.layer{padding:17px 0}.layer h3{font-size:20px}.layer p{font-size:11px}.faq{grid-template-columns:1fr;gap:16px;padding-top:0}.faq h2 br{display:none}.questions summary{font-size:12px;line-height:1.8;padding-right:25px}.closing{padding-top:43px}.closing h2{font-size:35px}.closing-word{font-size:25vw;margin-top:53px}footer{flex-wrap:wrap;gap:16px;padding:26px 6%}.footer-brand{font-size:24px}footer>span{order:3;width:100%;font-size:9px}#product-dialog[open]{grid-template-columns:1fr}#detail-image{max-height:46dvh;width:100%;object-fit:cover;object-position:center}.detail-copy{padding:25px}.detail-copy h2{font-size:30px;margin-bottom:12px}.detail-copy>strong{margin:17px 0;font-size:24px}#cart-dialog{padding:25px}.checkout-content{padding:54px 24px 25px}.checkout-content h2{font-size:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.brand{white-space:nowrap;flex-shrink:0}nav a{white-space:nowrap}@media(max-width:760px){.hero h1{font-size:clamp(43px,14.7vw,59px)}.filter{min-height:40px}.add-product{min-width:34px;height:34px}.hero-actions{gap:17px}.hero-actions .button{flex-shrink:0}.hero-actions .text-link{font-size:10px}}@media(max-width:480px){header nav{display:none}.cart-trigger>span{display:inline;font-size:10px}.hero-art{height:355px}}@media(max-width:350px){.hero-actions{gap:12px}.hero-actions .button{font-size:10px;padding:14px 12px;gap:14px}.hero-actions .text-link{font-size:9px}.hero-art{height:310px}.hero-product{top:60px}.round-stamp{width:69px;height:69px;font-size:8px}.name-button{font-size:18px}.badge{font-size:6px;padding:5px}.section{padding-inline:5%}}

.hero-product{mix-blend-mode:normal;top:56px;left:0;width:96%;transform:rotate(-6deg)}.hero-cutout{width:100%;display:block}.hero-caption{bottom:-5px}@media(max-width:1050px){.hero-product{top:50px}.hero-caption{bottom:-15px}}@media(max-width:760px){.hero-product{width:91%;left:0;top:45px}.hero-caption{bottom:-7px}}@media(max-width:350px){.hero-product{top:45px}.hero-caption{bottom:-9px}}
@media(min-width:761px){.hero-product{width:87%;left:1%;top:22px}}.filter,.set-tabs button{min-height:44px}.quantity button{min-width:30px;min-height:30px}

/* ---------- Bổ sung: đặt hàng thật, mã đơn, theo dõi đơn ---------- */
.loading{grid-column:1/-1;color:#748184;font-size:13px;padding:30px 0}
.product-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;min-width:0}
.field label{font-size:12px;font-weight:bold}
.field label span{font-weight:normal;color:#7b8481}
.field input,.field select{width:100%;border:1px solid #c4ced0;border-radius:5px;padding:12px;background:transparent;color:var(--ink);font-size:13px;min-height:44px}
.field select{appearance:auto}
.field input:focus,.field select:focus,textarea:focus{outline:2px solid var(--sky);outline-offset:1px;border-color:var(--blue)}
.field input[aria-invalid=true]{border-color:var(--red)}
#checkout-form fieldset{padding-top:4px}
.field-hint{font-size:11px;color:#6b7a80;line-height:1.7;margin:-4px 0 16px}
.field-hint.warn{color:var(--red)}
.form-error{color:var(--red);font-size:12px;line-height:1.6;margin:0 0 12px;min-height:0}
.form-error:empty{display:none}
.form-foot{display:block;font-size:10px;color:#788480;line-height:1.7;text-align:center;margin-top:14px}
.button[disabled]{opacity:.6;cursor:progress;transform:none}
.button.ghost{background:transparent;color:var(--blue)}
.button.ghost:hover{background:#91b6e725}
#order-review{margin:20px 0 6px}
.order-code-label{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:#6b7a80;margin-top:6px}
.order-code{font:34px var(--serif);color:var(--red);letter-spacing:.5px;margin:6px 0 14px;user-select:all}
#order-success>p{margin-bottom:16px}
.order-text{text-align:left;white-space:pre-wrap;word-break:break-word;font:12px/1.7 Arial,Helvetica,sans-serif;background:#f3f1e2;border:1px solid var(--line);border-radius:6px;padding:14px;margin:0 0 20px;color:var(--ink)}
.success-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.my-orders{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}
.my-orders .eyebrow{font-size:9px;letter-spacing:1.6px}
.my-order{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:11px;color:#5d6d74;line-height:1.6}
.my-order b{font:17px var(--serif);color:var(--ink)}
.my-order .items{grid-column:1/-1}
.my-order .sum{grid-column:1/-1;color:var(--ink);font-weight:bold}
.pill{align-self:start;font-size:10px;letter-spacing:.4px;padding:4px 10px;border-radius:20px;white-space:nowrap}
.st-moi{background:#fdebcb;color:#7a4206}.st-xacnhan{background:#dceafb;color:#163f78}.st-lam{background:#e9e0f8;color:#4f3290}
.st-san{background:#d8f0e0;color:#1b5e33}.st-xong{background:#ecebe2;color:#545a55}.st-huy{background:#f6dcd7;color:#8e2f22}
footer{flex-wrap:wrap}
footer a[data-demo-go]{text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.field-row{grid-template-columns:1fr;gap:0}.order-code{font-size:30px}}
.hero-cutout{height:auto}
.photo{width:100%;aspect-ratio:1;border-radius:5px;overflow:hidden}
.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.product-picture:hover .photo img{transform:scale(1.04)}
.cart-thumb .photo{border-radius:7px}
.product-picture .photo~.product-code{z-index:2;color:#fffef0;opacity:.9;text-shadow:0 1px 6px rgba(0,0,0,.45)}

/* ---------- Bổ sung: số bánh còn lại, phí giao ---------- */
.day-pick{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:30px 0 -14px;font-size:11px;letter-spacing:.3px}
.day-pick label{font-weight:600;letter-spacing:1.4px;text-transform:uppercase;font-size:10px}
.day-pick select{border:1px solid var(--blue);border-radius:30px;background:transparent;color:var(--blue);font-size:12px;padding:10px 16px;min-height:44px}
.stock-badge{position:absolute;top:16px;right:15px;z-index:2;font-size:9px;letter-spacing:.6px;border-radius:20px;padding:6px 10px;background:var(--blue);color:var(--cream);white-space:nowrap}
.stock-badge.low{background:var(--red)}
.stock-badge.out{background:#5b6d7a}
.product-card.sold-out .product-picture .sprite,.product-card.sold-out .product-picture .photo{opacity:.45;filter:grayscale(.6)}
.add-product:disabled{opacity:.3}
.set-stock{display:inline-block;font-style:normal;font-size:10px;margin-top:6px;color:var(--blue);font-weight:bold}
.set-stock.low{color:var(--red)}
.set-stock.out{color:#7b8481}
.set-option.is-out{opacity:.55;cursor:not-allowed}
.detail-stock{font-size:12px;color:var(--red);margin:-12px 0 20px}
.detail-stock:empty{display:none}
.cart-warn{color:var(--red)!important;font-weight:bold}
.cart-day{font-size:10px!important;color:#5b6d7a!important;margin:-12px 0 18px!important;line-height:1.6}
.cart-day:empty{display:none}
.ship-quote{font-size:12px;line-height:1.6;border-radius:5px;padding:11px 13px;background:#f3f1e2;border:1px solid var(--line);color:#5b6d7a}
.ship-quote strong{display:block;color:var(--ink);font-size:13px}
.ship-quote span{display:block;font-size:11px;margin-top:3px}
.ship-quote.ok{background:#91b6e71f;border-color:#91b6e780}
.ship-quote.warn{background:#fdf3e1;border-color:#ecd5a8;color:#7a4206}
.ship-quote.bad{background:#f6dcd7;border-color:#e6b5ab;color:#8e2f22}
#ship-rules{margin:2px 0 0}
.review-item.ship-line span{color:#5b6d7a}
.ok-stock{font-size:12px;color:var(--blue);margin:-6px 0 18px;line-height:1.7}
.ok-stock:empty{display:none}
@media(max-width:760px){.day-pick{margin:24px 0 -8px}.stock-badge{top:auto;bottom:9px;left:9px;right:auto;font-size:8px;padding:5px 8px}}
/* Trình duyệt cũ chưa hỗ trợ aspect-ratio (iPhone trước iOS 15): giữ khung ảnh bằng padding để ảnh không bị thu về 0 */
@supports not (aspect-ratio:1/1){
  .vanilla::before,.caramel::before,.double::before,.matcha::before,.photo::before{content:"";display:block}
  .vanilla::before{padding-top:74.36%}.caramel::before{padding-top:76.25%}.double::before{padding-top:82.72%}.matcha::before{padding-top:80.22%}
  .photo{position:relative}.photo::before{padding-top:100%}.photo img{position:absolute;inset:0}
  .product-picture{min-height:180px}
}

/* ---------- Bổ sung: chuyển khoản bằng mã QR của tiệm ---------- */
#pay-choice small{color:#7b8481;font-size:10px}
#pay-dialog{width:min(520px,94vw);border-radius:12px;max-height:90dvh;overflow:auto}
.pay-box{border:1px solid #c4d1db;background:#fffef0;border-radius:9px;padding:22px 20px;margin:0 0 22px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.pay-box.paid{flex-direction:row;justify-content:center;font-size:13px;color:#1b5e33;background:#d8f0e0;border-color:#b9dfc6}
.pay-box .eyebrow{font-size:9px}
.pay-qr{width:min(260px,70vw);aspect-ratio:1;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px}
.pay-note{font-size:12px;color:var(--ink);font-weight:bold;line-height:1.6}
.pay-demo{font-size:11px;color:var(--red);font-weight:bold}
.pay-info{width:100%;margin:4px 0 0;display:grid;gap:8px;text-align:left}
.pay-info>div{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:8px}
.pay-info dt{font-size:11px;color:#6b7a80}
.pay-info dd{margin:0;display:flex;align-items:center;gap:8px;font-size:14px}
.pay-info dd b{font:18px var(--serif);color:var(--red);letter-spacing:.3px}
.mini{border:1px solid #163f7850;background:transparent;border-radius:20px;font-size:10px;padding:5px 10px;min-height:30px}
.mini:hover{background:var(--sky)}
.pay-help{font-size:11px;color:#6b7a80;line-height:1.7;text-align:left}
.proof-state{font-size:12px;line-height:1.6;border-radius:5px;padding:9px 12px;width:100%;background:#f3f1e2;color:#5b6d7a}
.proof-state.s-cho{background:#dceafb;color:#163f78}
.proof-state.s-ok{background:#d8f0e0;color:#1b5e33}
.proof-state.s-sai{background:#f6dcd7;color:#8e2f22}
.pay-box .button{width:100%}
.pay-line{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:#163f78}
#ok-pay .pay-box{margin:4px 0 18px;border-color:var(--blue);box-shadow:0 6px 24px #163f7814}

/* ---------- Bổ sung: tra cứu đơn hàng ---------- */
.track-link{display:none;font-size:11px;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.lookup{display:grid;grid-template-columns:1fr 1.15fr;gap:24px 8%;border-top:1px solid var(--line)}
.lookup-intro>p{font-size:13px;line-height:1.9;color:#657377;margin-top:18px;max-width:380px}
.lookup-form{background:#fffef0;border:1px solid #c4d1db;border-radius:9px;padding:26px;align-self:start}
.lookup-form .field label span{font-weight:normal;color:#7b8481}
.lookup-form .button{width:100%;margin-top:4px}
.lookup-results{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:18px;scroll-margin-top:110px}
.lookup-results:empty{display:none}
.lk-summary{grid-column:1/-1;font-size:13px;color:#5b6d7a}
.lk-order{border:1px solid var(--line);border-radius:9px;background:#fffef0;padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0}
.lk-order.st-border-moi{border-color:#ecd5a8}.lk-order.st-border-huy{opacity:.75}
.lk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.lk-head b{font:22px var(--serif);display:block}
.lk-head small{font-size:10px;color:#7b8481}
.lk-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;font-size:9px;color:#8a979b;text-align:center}
.lk-steps li span{display:block;height:4px;border-radius:4px;background:#e4e7dd;margin-bottom:6px}
.lk-steps li.done{color:var(--blue)}.lk-steps li.done span{background:var(--sky)}
.lk-steps li.now{color:var(--blue);font-weight:bold}.lk-steps li.now span{background:var(--blue)}
.lk-cancel{font-size:12px;color:#8e2f22;background:#f6dcd7;border-radius:5px;padding:9px 12px}
.lk-info{margin:0;display:grid;gap:8px}
.lk-info>div{display:grid;grid-template-columns:86px 1fr;gap:10px;font-size:12px;line-height:1.6}
.lk-info dt{color:#7b8481}
.lk-info dd{margin:0;min-width:0;overflow-wrap:anywhere}
.lk-info dd b{color:var(--red)}
.lk-info dd small{color:#7b8481}
.lk-order .button{align-self:stretch}
@media(max-width:760px){.lookup{grid-template-columns:1fr}.lookup-form{padding:20px 16px}}
@media(max-width:480px){.track-link{display:inline}}
/* Nút Tra cứu đơn hàng luôn hiện trên thanh đầu trang (bản gốc ẩn link cuối ở màn hình hẹp) */
@media(max-width:760px){nav a[href="#tra-cuu"]{display:inline}}
.lookup{border-top:0}
fieldset.via{display:flex;flex-wrap:wrap;gap:4px 22px;padding-top:0}
fieldset.via legend{width:100%;margin-bottom:2px}
fieldset.via label{margin-top:10px}
.pay-qr{cursor:zoom-in}
#img-dialog{border-radius:12px;padding:46px 16px 16px;max-width:94vw;max-height:94dvh;background:#fff}
#img-dialog img{display:block;width:min(560px,86vw);max-height:80dvh;object-fit:contain}
.pay-rule{font-size:12px;line-height:1.7;background:#91b6e722;border:1px solid #91b6e760;border-radius:5px;padding:11px 13px;margin:0 0 14px;color:var(--ink)}
.pay-timer{font-size:12px;line-height:1.6;width:100%;border-radius:5px;padding:9px 12px;background:#fdf3e1;color:#7a4206;border:1px solid #ecd5a8}
.pay-timer b{font:18px var(--serif);letter-spacing:.5px}
.pay-timer.urgent{background:#f6dcd7;color:#8e2f22;border-color:#e6b5ab}
.pay-timer.short{padding:7px 10px}
.pay-box.cancel{font-size:13px;line-height:1.7;color:#8e2f22;background:#f6dcd7;border-color:#e6b5ab;text-align:left}

/* Ảnh bìa do chủ tiệm tải lên: cắt tròn, đặt trong vòng xanh, thay cho ảnh mẫu */
.hero-photo{display:none;position:absolute;width:70%;max-width:370px;transform:translateY(-34px);aspect-ratio:1;border-radius:50%;overflow:hidden;border:6px solid var(--sky);box-shadow:0 20px 40px #163f7826;z-index:1}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.hero-art.custom .hero-photo{display:block}
.hero-art.custom .hero-product{display:none}
@media(max-width:760px){.hero-photo{width:64%;max-width:270px;transform:translateY(-26px)}}

/* Thông tin chủ sở hữu và chính sách (thông báo website với Bộ Công Thương) */
.foot-legal{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;border-top:1px solid #163f7820;padding-top:16px;margin-top:4px;font-size:10px;color:#5d6b70;line-height:1.7}
.foot-legal nav{display:flex;flex-wrap:wrap;gap:4px 14px}
.foot-legal nav a{text-decoration:underline;text-underline-offset:3px}
.moit-badge{display:inline-block;font-weight:bold;color:var(--blue)}
.moit-badge img{display:block;width:150px;height:auto}
.policy-page header{height:auto;padding-top:18px;padding-bottom:18px}
.policy-wrap{max-width:760px;margin:0 auto;padding:40px 6% 60px}
.policy-h1{font:clamp(34px,5vw,52px)/1.15 var(--serif);letter-spacing:-1.5px;margin:14px 0 26px}
.policy-owner dl{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 24px;background:#edeedf;border-radius:10px;padding:18px 20px}
.policy-owner dt{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:#6a787c}
.policy-owner dd{margin:3px 0 0;font-size:14px;overflow-wrap:anywhere}
.policy-toc{display:flex;flex-direction:column;gap:6px;margin:26px 0 10px;font-size:13px}
.policy-toc a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.policy{border-top:1px solid var(--line);padding:26px 0 6px;scroll-margin-top:20px}
.policy h2{font:24px/1.3 var(--serif);letter-spacing:-.5px;margin:0 0 12px}
.policy p{font-size:14px;line-height:1.85;color:#40525e;margin:0 0 10px}
.policy-foot{flex-direction:column;align-items:flex-start;gap:12px;border-top:1px solid #163f7820}
.field .opt{font-weight:normal;text-transform:none;letter-spacing:0;color:#6a787c}
.field-help{font-size:12px;line-height:1.6;color:#5d6b70;margin:8px 0 0}
/* logo */
.brand-logo{display:block;height:60px;width:auto}
.brand picture{display:block;line-height:0}
.footer-brand img{display:block;width:56px;height:56px}
@media(max-width:760px){.brand-logo{height:50px}}
@media(max-width:480px){.brand-logo{height:44px}.footer-brand img{width:48px;height:48px}}
