/* Fichas compactas según la referencia del catálogo. */
main>#tienda-web{display:flex;flex-direction:column;padding-top:max(145px,calc(var(--header-height,100px) + 48px));overflow:hidden}
#tienda-web .shop-search{flex-shrink:0}
#tienda-web .shop-body{flex:1;min-height:0;overflow:hidden;align-items:stretch}
#tienda-web .flower-grid{overflow-y:auto;overscroll-behavior:contain;padding-bottom:12px}
#tienda-web .flower-alphabet{position:relative;top:auto;max-height:100%;align-self:start;overflow-x:hidden;scrollbar-width:none}
#tienda-web .flower-alphabet::-webkit-scrollbar{display:none}
#tienda-web .shop-pagination{flex-shrink:0;margin-top:12px}
#tienda-web .flower-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:24px 36px;align-items:stretch}
#tienda-web .flower-card{position:relative;display:flex;flex-direction:column;width:100%;max-width:310px;min-height:440px;padding:22px 8px 8px;background:#fff;border:1px solid #9dc6dc;border-radius:8px;color:#222;box-shadow:0 2px 8px #253c4910}
#tienda-web .shop-photo{height:140px;flex-shrink:0;background:#fff;border-radius:0;margin-bottom:10px}
#tienda-web .shop-photo img{object-fit:contain;width:100%;height:100%}
#tienda-web .shop-photo .shop-logo{padding:18px;object-fit:contain}
#tienda-web .flower-favorite{position:absolute;right:6px;top:2px;padding:0 2px;border:0;background:none;color:#ee8328;font-size:22px;line-height:1;cursor:pointer;z-index:1}
#tienda-web .flower-name{margin:0 0 8px;min-height:36px;padding:0;background:none;border-radius:0;color:#e67e22;font-size:14px;font-weight:700;line-height:1.3;letter-spacing:0;overflow-wrap:anywhere}
#tienda-web .flower-details{gap:0;font-size:12px;line-height:1.3}
#tienda-web .flower-details>div{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);border-radius:0;min-height:20px;padding:3px 4px;background:#fff;gap:6px}
#tienda-web .flower-details>div:nth-child(odd){background:#f1f1f1}
#tienda-web .flower-details>div:last-child{margin:0}
#tienda-web .flower-details dd{text-align:left}
.flower-more{font-size:11px;padding:7px 4px;line-height:1.4;margin-bottom:12px}
.flower-more summary{cursor:pointer;color:#5b6670}
.flower-more p{margin:5px 0;overflow-wrap:anywhere}
.flower-packing{display:flex;align-items:center;gap:5px;flex-wrap:wrap;background:#f0f0f0;font-size:12px;padding:12px 4px;margin-top:auto}
.flower-quantity{display:flex;border:1px solid #8bb8d1;border-radius:3px;overflow:hidden;height:24px;background:white}
.flower-quantity button{border:0;background:#edf4f8;color:#222;width:22px;padding:0;font:inherit;font-size:16px;cursor:pointer}
.flower-quantity input{border:0;border-right:1px solid #bdd0dd;border-left:1px solid #bdd0dd;border-radius:0;width:30px;min-width:0;text-align:center;font:inherit;color:#222;background:white;appearance:textfield;padding:0}
.flower-quantity input::-webkit-inner-spin-button,.flower-quantity input::-webkit-outer-spin-button{appearance:none;margin:0}
.flower-quantity button:disabled{opacity:.4;cursor:default}
.flower-price{margin-left:auto;white-space:nowrap}
.flower-stock{display:flex;justify-content:space-between;align-items:end;gap:8px;background:#f0f0f0;padding:22px 4px 4px;font-size:11px;line-height:1.4}
.flower-stock strong{font-size:12px;white-space:nowrap}
.flower-alphabet{max-height:calc(100dvh - 280px);overflow-y:auto;scrollbar-width:thin}
.cart-trigger{position:relative;display:flex;align-items:center;gap:6px;min-height:38px;padding:5px 11px;border:1px solid var(--blue);border-radius:999px;background:#fff;color:var(--blue);font:inherit;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background-color .18s ease,color .18s ease,transform .18s ease}
.cart-trigger svg{width:20px;height:20px;flex:none}
.cart-trigger:hover{background:var(--blue);color:#fff;transform:translateY(-1px)}
.cart-count{display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:999px;background:var(--pink);color:var(--blue);font-size:11px;line-height:1}
.cart-trigger:hover .cart-count{background:#fff}
#tienda-web .flower-card{cursor:pointer;transform:scale(1);transform-origin:center;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;z-index:0}
#tienda-web .flower-card:hover,#tienda-web .flower-card:focus-visible{transform:scale(1.04);box-shadow:0 10px 28px #253c4926;border-color:var(--blue);z-index:2}
#tienda-web .flower-card:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
#tienda-web .flower-card button,#tienda-web .flower-card input,#tienda-web .flower-card summary{cursor:pointer}
#tienda-web .add-to-cart{width:100%;min-height:34px;padding:7px 10px;border:0;border-radius:999px;background:var(--blue);color:#fff;font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:background-color .18s ease,transform .18s ease}
#tienda-web .add-to-cart:hover{background:#2105ad;transform:translateY(-1px)}
.catalog-dialog{width:min(900px,calc(100vw - 32px));max-height:min(86dvh,900px);padding:24px;border:1px solid #bfd6b3;border-radius:20px;background:#fff;color:#222;box-shadow:0 24px 80px #17251640;overflow:auto}
.catalog-dialog::backdrop{background:#14201480;backdrop-filter:blur(3px)}
.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.catalog-dialog .dialog-title{margin:0;color:var(--blue);font-size:clamp(22px,3vw,32px);line-height:1.2;letter-spacing:0;font-weight:700}
.dialog-close{display:grid;place-items:center;flex:none;width:38px;height:38px;border:0;border-radius:50%;background:var(--green);color:var(--blue);font-size:27px;line-height:1;cursor:pointer}
.detail-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px;align-items:start}
.detail-photo{width:100%;max-height:65dvh;aspect-ratio:4/5;object-fit:contain;border-radius:14px;background:#f4f5f1}
.detail-info>.dialog-title{display:none}
.detail-reference{margin:8px 0;color:#626262}
.detail-description{line-height:1.55}
.detail-data{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:18px 0}
.dialog-data-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px;margin:0;padding:8px 10px;border-radius:9px;background:#f2f4ef;font-size:13px;line-height:1.35}
.dialog-data-row dt{font-weight:700}.dialog-data-row dd{margin:0;overflow-wrap:anywhere}
.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.detail-actions button{flex:1;min-height:42px;padding:9px 14px;border:1px solid var(--green);border-radius:999px;font:inherit;font-weight:700;cursor:pointer}
.favorite-action{background:var(--pink);color:var(--blue)}
.detail-actions .detail-add{background:var(--blue);color:#fff;border-color:var(--blue)}
.cart-dialog{width:min(760px,calc(100vw - 32px))}
.cart-items{display:grid;gap:12px}
.cart-item{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;border:1px solid #e3e8df;border-radius:14px}
.cart-item-photo{width:76px;height:76px;object-fit:contain;border-radius:9px;background:#f4f5f1}
.cart-item-info h3{margin:0 0 5px;color:var(--blue);font-size:15px;line-height:1.35}
.cart-item-info p{margin:0;color:#555;font-size:13px}
.cart-item-controls{display:flex;align-items:center;gap:8px}
.cart-item-controls>button:not(.cart-remove){width:30px;height:30px;border:0;border-radius:50%;background:var(--green);color:var(--blue);font-size:18px;cursor:pointer}
.cart-item-controls>span{min-width:20px;text-align:center;font-weight:700}
.cart-remove{padding:5px 8px;border:0;border-radius:999px;background:#fbe9ef;color:#91244c;font:inherit;font-size:12px;cursor:pointer}
.cart-empty{padding:30px 12px;text-align:center;color:#555;line-height:1.5}
.cart-footer{margin-top:18px;padding:14px;border-radius:12px;background:var(--green)}
.cart-footer strong{color:var(--blue);font-size:18px}
.cart-footer p{margin:7px 0 0;color:#33402f;font-size:12px;line-height:1.45}
.place-order{display:block;width:100%;margin-top:14px;padding:12px 18px;border:0;border-radius:999px;background:var(--blue);color:#fff;font:inherit;font-weight:700;cursor:pointer}.place-order:disabled{opacity:.5;cursor:default}.order-feedback{margin:0 0 16px;padding:14px 16px;border-radius:10px;background:#e4f1dc;color:#284e22;line-height:1.5}.order-feedback.error{background:#ffe7e9;color:#842c3a}.order-history{margin-top:24px;border-top:1px solid #dbe4d6;padding-top:18px}.order-history h3{margin:0 0 12px;color:var(--blue)}.order-summary{margin-top:10px;padding:14px;border:1px solid #d5e1cf;border-radius:12px}.order-summary-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.order-summary p{margin:8px 0}.order-summary ul{margin:8px 0 0;padding-left:20px;font-size:13px}.order-summary .badge{font-size:12px}.order-summary .badge.approved{background:#deedda;color:#2e5626}.order-summary .badge.cancelled{background:#f7d8df;color:#78243a}.order-summary .badge.pending{background:#f4e7ac;color:#514411}
@media(max-width:999px){.cart-trigger{grid-column:2;grid-row:1;justify-self:start;margin-right:auto}.header-tools{display:flex!important;flex-direction:row-reverse;gap:6px!important}.detail-content{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}}
@media(max-width:650px){.cart-trigger{min-height:31px;padding:4px 8px;font-size:11px}.cart-trigger svg{width:17px;height:17px}.cart-count{min-width:16px;height:16px;font-size:10px}.catalog-dialog{padding:17px;border-radius:16px}.detail-content{grid-template-columns:1fr;gap:14px}.detail-photo{max-height:32dvh;aspect-ratio:16/9}.detail-info>.dialog-title{display:block}.dialog-header:has(+ .detail-content)>.dialog-title{display:none}.detail-data{grid-template-columns:1fr}.cart-item{grid-template-columns:56px minmax(0,1fr);gap:10px}.cart-item-photo{width:56px;height:56px}.cart-item-controls{grid-column:2;justify-self:start}.cart-remove{margin-left:8px}}
@media(hover:none){#tienda-web .flower-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){#tienda-web .flower-card,.cart-trigger,#tienda-web .add-to-cart{transition:none!important}}
@media(max-width:999px){#tienda-web .flower-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.flower-alphabet{max-height:calc(100dvh - 320px)}}
@media(max-width:550px){#tienda-web .flower-grid{grid-template-columns:1fr}#tienda-web .flower-card{max-width:310px}}
/* Seis fichas visibles: tres columnas por dos filas, manteniendo el catálogo desplazable. */
@media(min-width:1000px){
 #tienda-web{padding:116px 5.8% 64px}
 #tienda-web .flower-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,max-content);grid-auto-rows:max-content;align-content:start;gap:12px 24px;padding:0 14px 4px}
 #tienda-web .flower-card{min-height:0;max-width:340px;padding:13px 8px 6px;border-radius:10px}
 #tienda-web .shop-photo{height:clamp(54px,7.2dvh,72px);min-height:54px;margin-bottom:4px;border-radius:7px}
 #tienda-web .shop-photo .shop-logo{padding:8px}
 #tienda-web .flower-favorite{right:5px;top:2px;font-size:19px}
 #tienda-web .flower-name{min-height:0;max-height:31px;margin:0 0 4px;font-size:12px;line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
 #tienda-web .flower-details{font-size:10px;line-height:1.15}
 #tienda-web .flower-details>div{min-height:14px;padding:1px 3px;gap:4px}
 #tienda-web .flower-details>div:last-child{margin:0}
 #tienda-web .flower-more{font-size:9px;line-height:1.15;padding:1px 3px;margin:1px 0 2px}
 #tienda-web .flower-more summary{font-size:9px}
 #tienda-web .flower-packing{gap:4px;padding:3px;margin-top:auto;font-size:9px;line-height:1.15}
 #tienda-web .flower-quantity{height:19px}
 #tienda-web .flower-quantity button{width:18px;font-size:13px}
 #tienda-web .flower-quantity input{width:27px;font-size:10px}
 #tienda-web .flower-price{font-size:9px}
 #tienda-web .add-to-cart{min-height:25px;padding:4px 8px;font-size:10px}
 #tienda-web .flower-stock{gap:5px;padding:4px 3px 2px;font-size:9px;line-height:1.15}
 #tienda-web .flower-stock strong{font-size:9px}
}
/* Las banderas y el acceso de cuenta quedan arriba; el carrito se alinea bajo el login. */
.header-tools{display:grid;grid-template-columns:auto 38px;grid-template-rows:38px 34px;align-items:center;justify-items:center;gap:2px 7px}
.header-tools .languages{grid-column:1;grid-row:1}
.header-tools .account-nav{grid-column:2;grid-row:1}
.header-tools .cart-trigger{grid-column:2;grid-row:2;justify-self:center;width:38px;height:34px;min-height:34px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--blue)}
.header-tools .cart-trigger>span:not(.cart-count){display:none}
.header-tools .cart-trigger svg{width:23px;height:23px}
.cart-trigger[hidden]{display:none!important}
.header-tools .cart-count{position:absolute;top:-3px;right:-5px;min-width:16px;height:16px;padding:0 3px;font-size:9px}
.header-tools .cart-trigger:hover{background:#ffffff75;color:var(--blue);transform:scale(1.06)}
@media(max-width:999px){
 .header-tools{display:grid!important;grid-template-columns:auto 32px;grid-template-rows:30px 30px;gap:2px 5px!important;align-items:center}
 .header-tools .cart-trigger{width:30px;height:28px;min-height:28px}
 .header-tools .cart-trigger svg{width:20px;height:20px}
 .header-tools .cart-count{top:-3px;right:-5px}
}
@media(max-height:760px) and (min-width:1000px){
 #tienda-web .shop-photo{height:54px;min-height:48px}
 #tienda-web .flower-card{padding-top:9px;padding-bottom:4px}
 #tienda-web .flower-details{font-size:9px}
 #tienda-web .flower-details>div{min-height:12px}
 #tienda-web .flower-packing{padding:2px}
 #tienda-web .add-to-cart{min-height:22px;padding:2px 6px}
}
/* Evita que las fichas rebasen sus dos filas y se dibujen unas encima de otras. */
@media(min-width:1000px){
 #tienda-web .flower-card{height:auto;overflow:visible;align-self:start}
 #tienda-web .shop-photo{height:clamp(48px,6.3dvh,62px);min-height:48px}
 #tienda-web .flower-name{max-height:29px;margin-bottom:3px;font-size:11px;line-height:1.2}
 #tienda-web .flower-details{font-size:9.5px;line-height:1}
 #tienda-web .flower-details>div{height:14px;min-height:14px;padding:1px 3px;line-height:12px}
 #tienda-web .flower-details dt,#tienda-web .flower-details dd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 #tienda-web .flower-more{display:none}
 #tienda-web .flower-packing{padding:2px 3px;min-height:20px}
 #tienda-web .add-to-cart{min-height:23px;padding:3px 7px}
 #tienda-web .flower-stock{min-height:17px;padding:2px 3px 1px}
}
/* La tienda permanece cerrada hasta confirmar la aprobación con el servidor. */
main>#tienda-web{position:relative}
#tienda-web.shop-is-locked .shop-search,#tienda-web.shop-is-locked .shop-body,#tienda-web.shop-is-locked .shop-pagination{pointer-events:none;user-select:none}
#tienda-web .shop-gate{display:none}
#tienda-web.shop-is-locked .shop-gate{position:absolute;z-index:5;inset:0;display:grid;place-items:center;padding:clamp(120px,17dvh,180px) 20px 120px;background:rgba(255,255,255,.76);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#tienda-web .shop-gate .register-button{display:flex;align-items:center;justify-content:center}
#tienda-web .shop-skeleton{min-height:clamp(220px,39dvh,350px);max-width:340px;border:1px solid #bfd1d4;border-radius:10px;background:linear-gradient(#f1f1f1,#f1f1f1) center 12%/72% 25% no-repeat,linear-gradient(#e7eee4,#e7eee4) center 50%/85% 8% no-repeat,linear-gradient(#e7eee4,#e7eee4) center 66%/85% 8% no-repeat,#fff}
@media(max-width:550px){#tienda-web.shop-is-locked .shop-gate{padding:105px 15px 95px}}
/* Mantiene todos los accesos del encabezado dentro del ancho de la ventana. */
@media(min-width:1000px){
 .header nav{min-width:0;gap:4px}
 .header nav a{padding-right:8px;padding-left:8px}
 .header-tools{grid-template-columns:auto 34px;gap:2px 4px;margin-left:6px}
 .header-tools .languages{gap:2px}
 .header-tools .languages button{width:32px;height:34px;padding:1px}
 .header-tools .languages svg{width:29px;height:29px}
 .header-tools .account-nav{width:34px;height:34px}
 .header-tools .account-nav svg{width:32px;height:32px}
}
