
:root{--wine:#752b3e;--ink:#30282a;--muted:#776e71;--line:#e8e2e3;--paper:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;font-family:inherit}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--wine);outline-offset:4px}input{font-family:inherit}img{display:block;width:100%}.container{max-width:1160px;margin:0 auto;padding:0 28px}.store-header{background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:20px}.brand{font-family:Georgia,'Times New Roman',serif;font-size:31px;letter-spacing:-1.5px;white-space:nowrap}.brand i{font-weight:400;color:var(--wine)}nav{display:flex;gap:28px}nav a{font-size:14px;padding:8px 0;color:var(--muted)}nav a[aria-current=page]{color:var(--wine);border-bottom:1px solid var(--wine)}.demo-note{text-align:center;background:#f6f4f4;color:#77646b;padding:9px 16px;font-size:12px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:1.8px;color:var(--muted)}h1,h2,h3,p{margin:0}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:44px;line-height:1.18;letter-spacing:-1px}h1 em{color:var(--wine)}h2{font-size:22px;font-weight:500;line-height:1.4}.home-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding:34px 0 38px}.home-intro h1{font-size:clamp(36px,4.3vw,53px);max-width:410px;margin:17px 0}.home-intro p{color:var(--muted);font-size:16px;max-width:380px;line-height:1.7}.primary-link{display:inline-flex;align-items:center;justify-content:center;background:var(--wine);border:1px solid var(--wine);color:white;padding:13px 22px;border-radius:3px;font-size:14px;font-weight:600;margin-top:24px;min-height:48px}.hero-image{position:relative;overflow:hidden;background:#efe6e1;border-radius:3px}.hero-image img{height:340px;object-fit:cover;object-position:center 47%}.hero-image span{position:absolute;bottom:17px;left:17px;padding:9px 13px;background:#fffffff0;font-size:12px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 20px}.section-heading a{font-size:14px;color:var(--wine);border-bottom:1px solid #bea1aa}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.product-card{min-width:0;display:block}.card-image{position:relative;overflow:hidden;border-radius:3px;background:#f5f2ef}.card-image img{aspect-ratio:4/4.5;object-fit:cover;transition:transform .3s}.product-card:hover img{transform:scale(1.025)}.card-info{padding:15px 0 0}.card-info h3{font-size:20px;font-weight:600;letter-spacing:.5px}.product-name{display:block;font-size:14px;color:var(--muted);margin-top:2px}.card-info p{margin-top:8px;font-size:14px}.card-info p strong{font-size:17px;color:var(--wine);font-weight:600}.card-info p span{color:var(--muted);font-size:12px}.card-info small{display:block;font-size:12px;color:var(--muted);margin-top:2px}.video-badge{position:absolute;left:12px;bottom:12px;background:#fff;padding:5px 10px;font-size:12px}.how-order{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:44px;padding:25px 0;color:#a4969b;font-size:13px}.how-order strong{font-size:14px;color:var(--ink);margin-left:10px;font-weight:400}.store-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:32px;padding-top:25px;padding-bottom:25px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.store-footer .brand{font-size:26px;color:var(--ink)}.store-footer small{font-size:12px}.shop-page{padding-top:35px;padding-bottom:30px;min-height:65vh}.page-heading h1{margin:10px 0 12px;font-size:38px}.page-heading p{color:var(--muted);font-size:15px}.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:25px 0}.search-input{display:flex;align-items:center;gap:12px;border:1px solid #ddd6d8;border-radius:3px;width:400px;max-width:100%;padding:0 13px;height:48px;color:var(--muted)}.search-input input{border:0;background:transparent;width:100%;min-width:0;height:100%;font-size:16px;color:var(--ink)}.search-input button{border:0;background:transparent;padding:5px;color:var(--muted)}.catalog-toolbar>span{font-size:14px;color:var(--muted)}.empty{text-align:center;padding-top:70px;padding-bottom:90px}.empty p{color:var(--muted);margin:15px 0}.outline-button{min-height:45px;border:1px solid var(--line);background:white;border-radius:3px;padding:11px 20px;font-size:14px;color:var(--ink)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;padding:24px 0;font-size:13px;color:var(--muted)}.breadcrumbs a{font-size:13px;padding:0}.breadcrumbs span:last-child{color:var(--ink)}.detail-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:65px;align-items:start}.detail-image{display:block;position:relative;width:100%;border:0;padding:0;background:#f0e8e4;border-radius:3px;overflow:hidden}.detail-image img{aspect-ratio:4/5;object-fit:cover}.detail-image>span{position:absolute;bottom:16px;right:16px;display:flex;align-items:center;gap:7px;background:#ffffffed;padding:9px 12px;border-radius:3px;font-size:12px;color:var(--ink)}.media-note{margin-top:13px;color:var(--muted);font-size:12px;line-height:1.7}.detail-info>.eyebrow{font-size:11px}.detail-info h1{font-family:Arial,Helvetica,sans-serif;font-size:38px;font-weight:600;letter-spacing:1px;margin:5px 0}.detail-name{font-family:Georgia,serif;font-size:21px;color:var(--muted)}.main-price{font-size:28px;color:var(--wine);font-weight:600;margin-top:17px;line-height:1.3}.main-price span{font-weight:400;font-size:14px;color:var(--muted)}.price-description{font-size:12px;color:var(--muted);margin-top:4px}.specifications{margin:24px 0;display:grid;gap:11px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0}.specifications>div{display:grid;grid-template-columns:100px 1fr;gap:12px;font-size:14px}.specifications dt{color:var(--muted)}.specifications dd{margin:0}.price-section h2,.order-section h2{font-size:17px;font-weight:600;margin-bottom:14px}.price-section table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.price-section th{font-weight:400;color:var(--muted);font-size:12px;background:#f8f7f7;padding:10px 12px}.price-section td{padding:12px;border-bottom:1px solid var(--line)}.price-section td:last-child,.price-section th:last-child{text-align:right;white-space:nowrap}.price-section td:last-child{font-weight:600}.active-tier{background:#fbf4f6;color:var(--wine)}.tier-marker{display:block;font-size:11px;margin-top:2px}.small{font-size:12px;line-height:1.6;color:var(--muted);margin-top:9px}.order-section{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}.order-section label{display:block;font-size:14px;font-weight:600;margin-bottom:9px}.quantity-row{display:flex;align-items:center;gap:12px}.quantity-row>span{font-size:14px;color:var(--muted)}.quantity-control{display:flex;align-items:center;border:1px solid #ddd6d8;border-radius:3px;height:48px;width:200px}.quantity-control button{height:100%;width:48px;flex-shrink:0;display:grid;place-items:center;border:0;background:white;color:var(--ink)}.quantity-control input{width:calc(100% - 96px);border:0;text-align:center;font-size:17px;background:transparent;appearance:textfield}.quantity-control input::-webkit-inner-spin-button{appearance:none}.presets{display:flex;gap:8px;margin-top:10px}.presets button{border:1px solid var(--line);border-radius:3px;padding:7px 15px;background:white;font-size:14px;color:var(--muted);min-height:38px}.presets .active{background:#f8edef;border-color:#c6a3af;color:var(--wine)}.total{display:flex;justify-content:space-between;gap:20px;padding:16px 0;margin:8px 0 12px;border-bottom:1px solid var(--line);font-size:14px}.total strong{font-size:21px;color:var(--wine)}.phone-input{width:100%;height:50px;border:1px solid #ddd6d8;border-radius:3px;background:white;padding:12px 13px;font-size:16px}.callback{display:flex;gap:12px;align-items:flex-start;margin:20px 0;color:var(--wine)}.callback svg{margin-top:3px;flex-shrink:0}.callback strong{display:block;font-size:14px;font-weight:600}.callback span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.submit{width:100%;border:0;border-radius:3px;background:var(--wine);color:white;padding:14px;min-height:52px;font-size:15px;font-weight:600}.submit:hover{background:#602235}.no-pay{text-align:center;color:var(--muted);font-size:12px;margin-top:10px}.error{background:#fff0f1;padding:12px;font-size:14px;color:#b02032;margin-bottom:15px}.success{background:#f9f5f6;padding:24px;text-align:center}.success svg{margin:0 auto 15px;color:var(--wine)}.success h2{font-size:20px}.success p{font-size:15px;margin-top:12px}.success .outline-button{margin-top:20px}.product-video{margin-top:24px}.product-video h2{font-size:17px;margin-bottom:12px}.product-video video{display:block;width:100%;max-height:600px;background:#222;border-radius:3px}.zoom-dialog{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:0;border:0;background:#181517;color:white;margin:0}.zoom-dialog::backdrop{background:#181517}.zoom-toolbar{height:65px;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff24}.zoom-toolbar>div{display:flex;align-items:center;gap:10px}.zoom-toolbar button{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:white}.zoom-toolbar span{font-size:13px;min-width:38px;text-align:center}.zoom-scroll{height:calc(100dvh - 112px);overflow:auto;overscroll-behavior:contain}.zoom-scroll img{margin:0 auto;object-fit:contain}.zoom-hint{height:47px;padding:12px 16px;text-align:center;font-size:12px;color:#ddd0d4;background:#181517}
@media(min-width:768px){.zoom-scroll img{width:auto!important;height:100%;min-width:auto;transform-origin:top left}.zoom-scroll{display:block}.zoom-scroll img[style*="150%"]{height:150%}.zoom-scroll img[style*="200%"]{height:200%}.zoom-scroll img[style*="250%"]{height:250%}.zoom-scroll img[style*="300%"]{height:300%}}
@media(max-width:767px){.container{padding-left:18px;padding-right:18px}.header-inner{min-height:66px;gap:15px}.brand{font-size:29px}nav{gap:20px}nav a{font-size:13px}.demo-note{font-size:11px;padding:8px 16px}.home-intro{grid-template-columns:1fr;gap:22px;padding:27px 0 30px}.home-intro h1{font-size:36px;line-height:1.25;margin:10px 0}.home-intro p{font-size:14px;max-width:320px}.home-intro .eyebrow{font-size:10px;letter-spacing:1.5px}.home-intro .primary-link{margin-top:17px;min-height:44px;padding:11px 17px}.hero-image img{height:210px;object-position:center 52%}.hero-image span{font-size:11px;bottom:12px;left:12px}.section-heading{margin-bottom:15px}.section-heading h2{font-size:21px}.section-heading a{font-size:13px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 13px}.card-image img{aspect-ratio:4/5}.card-info{padding-top:10px}.card-info h3{font-size:18px}.product-name{font-size:13px}.card-info p{font-size:12px;margin-top:6px}.card-info p strong{font-size:15px}.card-info p span{font-size:11px}.card-info small{font-size:11px}.how-order{flex-direction:column;gap:13px;margin-top:30px;padding:20px 0}.how-order strong{font-size:14px}.store-footer{margin-top:20px;flex-wrap:wrap;gap:12px;font-size:12px;padding-top:20px;padding-bottom:20px}.store-footer>span:nth-child(2){flex-basis:100%;order:3}.store-footer small{margin-left:auto}.shop-page{padding-top:26px}.page-heading h1{font-size:31px;margin:9px 0}.page-heading p{font-size:14px}.catalog-toolbar{align-items:stretch;flex-direction:column;gap:11px;margin:20px 0}.search-input{width:100%}.catalog-toolbar>span{font-size:12px}.breadcrumbs{padding:18px 0;gap:8px;font-size:12px}.breadcrumbs a{font-size:12px}.detail-grid{grid-template-columns:1fr;gap:24px}.detail-image img{aspect-ratio:4/4.4}.detail-image>span{right:12px;bottom:12px;padding:8px 10px}.media-note{font-size:11px}.detail-info h1{font-size:32px}.detail-name{font-size:20px}.main-price{font-size:27px;margin-top:12px}.specifications{margin:20px 0}.specifications>div{grid-template-columns:90px 1fr;font-size:14px}.price-section td{padding:11px 10px}.tier-marker{font-size:11px}.order-section{padding-top:21px;margin-top:22px}.zoom-toolbar{padding:10px 12px}.zoom-toolbar>div{gap:3px}.zoom-toolbar button{width:42px}.zoom-scroll img{min-width:100%}.detail-page{padding-bottom:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Wedding invitation supermarket wordmark and persistent chat shortcuts. */
.brand{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.05;letter-spacing:-.8px}.brand-label{font-family:Arial,Helvetica,sans-serif;font-size:10px;letter-spacing:2px;font-weight:500;text-transform:uppercase;color:var(--muted)}.brand i{font-size:29px;line-height:1.13}.header-inner{min-height:80px}.store-footer .brand i{font-size:27px}.floating-chat{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:30;display:flex;flex-direction:column;gap:10px}.chat-button{display:flex;gap:9px;align-items:center;justify-content:flex-start;min-height:50px;width:139px;border:0;border-radius:28px;color:white;padding:7px 14px 7px 10px;box-shadow:0 3px 13px #17213d24;transition:transform .15s;font-size:13px;font-weight:600}.chat-button.messenger{background:#1677ff}.chat-button.zalo{background:#0068ff}.chat-icon{display:flex;align-items:center;justify-content:center;width:34px;flex-shrink:0}.chat-button:hover:not(:disabled){transform:translateY(-2px)}.chat-button:disabled{opacity:.7;cursor:default}.store-footer{padding-bottom:100px}@media(max-width:767px){.header-inner{min-height:74px}.brand i{font-size:26px}.brand-label{font-size:9px;letter-spacing:1.5px}.floating-chat{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));flex-direction:row;gap:9px}.chat-button{width:50px;height:50px;padding:0;justify-content:center;border-radius:50%;min-height:50px}.chat-name{display:none}.chat-icon{width:34px}.store-footer{padding-bottom:90px}}
.gallery-video{width:100%;aspect-ratio:4/5;background:#161416;border-radius:3px;overflow:hidden;display:flex;align-items:center}.gallery-video video,.gallery-video iframe{width:100%;height:100%;border:0;object-fit:contain}.gallery-thumbnails{display:flex;gap:9px;overflow-x:auto;padding:12px 2px 3px;scrollbar-width:thin}.gallery-thumbnails button{padding:0;width:70px;height:85px;flex-shrink:0;border:1px solid var(--line);border-radius:3px;background:white;overflow:hidden}.gallery-thumbnails button.active{outline:2px solid var(--wine);outline-offset:1px}.gallery-thumbnails img{height:100%;object-fit:cover}.gallery-thumbnails .video-thumbnail{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--wine);background:#faf4f6;font-size:12px}.product-description{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:23px}.pricing-notes{font-size:13px;color:var(--muted);margin-top:12px}.pricing-notes summary{cursor:pointer;padding:7px 0}.pricing-notes p{white-space:pre-line;margin-top:7px;line-height:1.7}@media(max-width:767px){.gallery-video{aspect-ratio:4/4.4}.gallery-thumbnails button{width:61px;height:73px}}
/* Reset cho template thuần, thay cho Tailwind preflight. */
button,input{font:inherit}button{line-height:inherit}table{text-indent:0}a[aria-disabled="true"]{opacity:.7;cursor:default}dialog:not([open]){display:none}[hidden]{display:none!important}.detail-image>span{pointer-events:none}

/* MVC additions: collection navigation, server search and pagination. */
.collection-links{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.collection-links a,.pagination a{border:1px solid var(--line);padding:10px 16px;border-radius:3px;font-size:14px}
.collection-links a[aria-current],.pagination a[aria-current]{background:var(--wine);color:white;border-color:var(--wine)}
.collections,.related-products{margin-top:40px}
.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px}
.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:36px 0}
.catalog-toolbar button{padding:8px 14px;min-width:44px}
.product-description{white-space:pre-line}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--wine);outline-offset:4px}
@media(max-width:767px){.header-inner nav{gap:12px}.header-inner nav a{font-size:12px}.collection-grid{grid-template-columns:1fr}.collection-links a{padding:9px 12px;font-size:12px}}

.order-options{border:1px solid var(--line);border-radius:4px;margin:20px 0;padding:16px}.order-options legend{font-weight:600;padding:0 6px}.order-options .option-choice{display:flex;align-items:center;gap:12px;margin:12px 0;cursor:pointer}.order-options .option-choice input{width:18px;height:18px;flex-shrink:0;margin:0;accent-color:var(--wine)}.option-choice span{flex:1}.option-choice strong{float:right;margin-left:10px;font-size:14px}

.mb-20{
    margin-bottom:20px;
}
.mb-50{
    margin-bottom:50px;
}
@media(max-width:767px){.header-inner{flex-wrap:wrap;padding-top:12px;padding-bottom:12px;row-gap:12px}.brand{flex-shrink:0}.brand i{font-size:24px}.header-inner nav{flex-wrap:wrap;gap:12px 16px}}

/* Original envelope and heart identity for Siêu thị thiệp cưới. */
.brand{flex-direction:row;align-items:center;gap:11px}
.brand-mark{display:block;width:48px;height:48px;flex-shrink:0}
.brand-wordmark{display:flex;flex-direction:column;gap:3px}
.store-footer .brand-mark{width:42px;height:42px}
@media(max-width:767px){.brand{gap:9px}.brand-mark{width:42px;height:42px}}
