/* ==========================================
SHIPIBO STYLE CSS v8
Premium plant based ecommerce
Clean edition
========================================== */


@import url('https://fonts.googleapis.com/css2?family=Arbutus+Slab&family=Inter:wght@300;400;500;600&display=swap');


:root{

--bg:#0b0d09;
--card:#171c13;
--dark:#090b07;
--green:#536b32;
--green-light:#7d9550;
--gold:#c8aa6b;
--cream:#eee7d8;
--text:#c9c5b7;
--border:rgba(255,255,255,.08);

}



*{

margin:0;
padding:0;
box-sizing:border-box;

}



body{

background:var(--bg);
color:var(--cream);
font-family:"Inter",sans-serif;
font-weight:300;

}



h1,h2,h3{

font-family:"Arbutus Slab",serif;
font-weight:400;

}



a{

color:inherit;

}






/* =====================
NAVBAR
===================== */


.navbar{

height:65px;

padding:0 6%;

display:flex;

align-items:center;

justify-content:space-between;

position:sticky;

top:0;

background:rgba(11,13,9,.9);

backdrop-filter:blur(10px);

border-bottom:1px solid var(--border);

z-index:100;

}



.logo{

font-family:"Arbutus Slab",serif;

font-size:26px;

letter-spacing:4px;

text-decoration:none;

}



.logo:hover{

color:var(--gold);

}



nav{

display:flex;

gap:24px;

}



nav a{

text-decoration:none;

font-size:13px;

color:var(--text);

}







/* =====================
BOTONES
===================== */


button{

background:var(--green);

border:none;

color:white;

padding:10px 22px;

border-radius:30px;

font-size:13px;

cursor:pointer;

transition:.25s;

}



button:hover{

background:var(--green-light);

transform:translateY(-2px);

}



.secondary-button{

background:transparent;

border:1px solid var(--border);

color:var(--text);

}








/* =====================
HERO
===================== */


.hero{

min-height:70vh;

padding:55px 6%;

display:flex;

align-items:center;

gap:30px;

}



.hero-content{

width:55%;

}



.hero-decoration{

width:45%;

display:flex;

justify-content:center;

}



.hero h1{

font-size:48px;

line-height:1.05;

}



.hero p{

margin-top:20px;

max-width:420px;

font-size:16px;

line-height:1.6;

color:var(--text);

}



.hero-buttons{

display:flex;

gap:12px;

margin-top:30px;

}



.snake-placeholder{

height:320px;

width:240px;

border:1px solid var(--border);

display:flex;

align-items:center;

justify-content:center;

color:#555;

}








/* =====================
SECCIONES
===================== */


.menu,
.packs,
.about,
.cart-page{

padding:55px 6%;

}



h2{

text-align:center;

font-size:36px;

margin-bottom:30px;

}







/* =====================
CATALOGO
===================== */


.filters{

display:flex;

justify-content:center;

gap:10px;

margin-bottom:30px;

}



.filters button{

background:transparent;

border:1px solid var(--border);

padding:8px 18px;

font-size:12px;

}



.products-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:20px;

}



.product-card{

background:var(--card);

border:1px solid var(--border);

border-radius:16px;

padding:16px;

}



.product-image{

height:180px;

border-radius:12px;

overflow:hidden;

}



.product-image img{

width:100%;

height:100%;

object-fit:cover;

}



.product-card h3{

font-size:19px;

margin-top:15px;

}



.product-card p{

font-size:13px;

line-height:1.5;

color:var(--text);

}



.price{

color:var(--gold);

font-size:16px;

margin:14px 0;

}
/* =====================
PLANES
===================== */


.plan-grid{

display:grid;

grid-template-columns:repeat(5,1fr);

gap:12px;

}



.plan-grid button{

height:75px;

background:var(--card);

border:1px solid var(--border);

font-family:"Arbutus Slab";

font-size:16px;

}






/* =====================
COMBOS
===================== */


.pack-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

}



.pack-card{

background:var(--card);

border:1px solid var(--border);

border-radius:16px;

padding:25px;

}



.pack-card h3{

font-size:20px;

margin-bottom:10px;

}



.pack-card p{

font-size:14px;

color:var(--text);

line-height:1.5;

}








/* =====================
SELECTOR PLANES
===================== */


.plan-overlay{

display:none;

position:fixed;

inset:0;

background:rgba(0,0,0,.86);

z-index:500;

align-items:center;

justify-content:center;

}



.plan-overlay.active{

display:flex;

}



.plan-selector{

background:#10140c;

width:92%;

max-width:850px;

max-height:90vh;

overflow:auto;

padding:28px;

border-radius:20px;

border:1px solid var(--border);

}



.plan-back{

background:transparent;

border:1px solid var(--border);

margin-bottom:15px;

}



.selection-counter{

font-size:14px;

color:var(--text);

margin:15px 0;

}



#selected-count{

color:var(--gold);

font-weight:500;

}



#remaining-count{

color:var(--gold);

font-size:13px;

margin-bottom:15px;

}







.plan-dishes{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:15px;

margin-top:20px;

}







.plan-dish{

background:var(--card);

border:1px solid var(--border);

border-radius:14px;

padding:16px;

cursor:pointer;

transition:.25s;

}



.plan-dish:hover{

transform:translateY(-3px);

}



.plan-dish img{

width:100%;

height:130px;

object-fit:cover;

border-radius:10px;

}



.plan-dish h3{

font-size:17px;

margin-top:12px;

}



.plan-dish p{

font-size:12px;

color:var(--text);

margin-top:8px;

}



.plan-dish span{

display:block;

margin-top:10px;

font-size:12px;

color:var(--gold);

}



.plan-dish.selected{

border-color:var(--gold);

background:rgba(200,170,107,.08);

}



.plan-dish.disabled{

opacity:.3;

pointer-events:none;

}







.selected-list{

display:flex;

flex-direction:column;

gap:8px;

margin-bottom:20px;

}



.selected-item{

display:flex;

justify-content:space-between;

align-items:center;

background:var(--card);

padding:10px 14px;

border-radius:10px;

font-size:13px;

}



.selected-item button{

padding:4px 10px;

background:transparent;

color:var(--gold);

}







.clear-selection{

background:transparent;

border:1px solid var(--border);

margin-top:20px;

}



.confirm-plan{

width:100%;

margin-top:15px;

}

/* =====================
CARRITO
===================== */


.back-button{

display:inline-block;

margin-bottom:25px;

font-size:13px;

color:var(--text);

text-decoration:none;

}



.cart-box{

background:var(--card);

border:1px solid var(--border);

border-radius:18px;

padding:22px;

}



.cart-product-card{

display:flex;

gap:15px;

padding:15px 0;

border-bottom:1px solid var(--border);

}



.cart-product-image{

width:80px;

height:80px;

border-radius:12px;

overflow:hidden;

}



.cart-product-image img{

width:100%;

height:100%;

object-fit:cover;

}



.cart-product-info h3{

font-size:17px;

}



.cart-controls{

display:flex;

align-items:center;

gap:12px;

margin-top:10px;

}



.cart-controls button{

width:28px;

height:28px;

padding:0;

}



.remove-cart{

margin-top:10px;

background:transparent;

border:1px solid var(--border);

font-size:11px;

}



.cart-total{

margin-top:20px;

padding-top:20px;

border-top:1px solid var(--border);

font-family:"Arbutus Slab";

font-size:24px;

color:var(--gold);

}








/* =====================
CHECKOUT
===================== */


.checkout{

max-width:650px;

margin:40px auto 0;

}



.checkout-form{

background:linear-gradient(

145deg,

#171c13,

#10140c

);

border:1px solid var(--border);

border-radius:20px;

padding:28px;

}



.checkout-form label{

display:block;

margin-top:18px;

margin-bottom:7px;

font-size:11px;

letter-spacing:1px;

color:#aaa;

text-transform:uppercase;

}



.checkout-form input,
.checkout-form select,
.checkout-form textarea{


width:100%;

background:var(--dark);

border:1px solid var(--border);

border-radius:12px;

padding:13px 15px;

color:var(--cream);

font-family:"Inter";

font-size:14px;

}



.checkout-form textarea{

min-height:100px;

}







/* =====================
DATE PICKER CHROME FIX
===================== */


.checkout-form input[type="date"] {


width:100%;

min-height:46px;

background:var(--dark);

color:var(--cream);

border:1px solid var(--border);

border-radius:12px;

padding:13px 45px 13px 15px;

font-family:"Inter",sans-serif;

font-size:14px;

color-scheme:dark;

appearance:auto;

-webkit-appearance:auto;

}



.checkout-form input[type="date"]::-webkit-calendar-picker-indicator {


opacity:1;

display:block;

cursor:pointer;

width:22px;

height:22px;


}



.checkout-form input[type="date"]::-webkit-inner-spin-button {


display:block;

}



.checkout-form input[type="date"]::-webkit-clear-button {


display:block;

}







.checkout-note{


margin-top:20px;

padding:15px;

border-radius:12px;

background:rgba(200,170,107,.08);

font-size:12px;

line-height:1.5;

color:var(--text);

}



.checkout-button{


width:100%;

margin-top:25px;

}

/* =====================
FOOTER
===================== */


footer{

padding:30px;

text-align:center;

border-top:1px solid var(--border);

color:#777;

font-size:12px;

}



.admin-link{

font-size:11px;

color:#666;

display:block;

margin-top:10px;

text-decoration:none;

}









/* =====================
ADMIN PANEL
===================== */


#admin-panel{

max-width:900px;

margin:40px auto;

}



#admin-panel h2{

margin-bottom:30px;

}



#admin-panel h3{

font-size:22px;

margin-bottom:20px;

}




#admin-panel .checkout-form{


background:

linear-gradient(

145deg,

#171c13,

#0d100a

);


padding:30px;

border-radius:22px;

border:1px solid var(--border);

}




#admin-panel input[type="text"],
#admin-panel input[type="number"],
#admin-panel input[type="password"],
#admin-panel textarea{


margin-top:8px;

}



#admin-panel textarea{

min-height:90px;

}



#admin-panel input[type="checkbox"]{

width:auto;

margin-right:8px;

accent-color:var(--gold);

}



#admin-panel label{

margin-top:18px;

}



#admin-panel button{


font-size:13px;

padding:10px 22px;

margin-top:15px;

}






/* LISTADO ADMIN */


#admin-dishes{


display:flex;

flex-direction:column;

gap:15px;

margin-top:20px;

}



#admin-dishes .cart-product-card{


background:

rgba(255,255,255,.025);


border:1px solid var(--border);


border-radius:16px;


padding:16px;


align-items:center;


}



#admin-dishes .cart-product-image{


width:90px;

height:90px;


flex-shrink:0;


}



#admin-dishes .cart-product-info{


display:flex;

flex-direction:column;

gap:7px;


}



#admin-dishes h3{


font-size:18px;

margin:0;


}



#admin-dishes p{


font-size:12px;

color:var(--text);


}



#admin-dishes button{


width:max-content;

padding:8px 18px;

font-size:12px;


}



#admin-dishes .remove-cart{


color:#c88;

border-color:rgba(200,100,100,.3);


}









/* LOGIN ADMIN */


#admin-login{


max-width:450px;

margin:70px auto;

}



#admin-login .checkout-form{


background:

linear-gradient(

145deg,

#171c13,

#10140c

);


border-radius:22px;

padding:35px;


}



#login-error{


margin-top:15px;

font-size:13px;

color:#d88;


}









/* =====================
MOBILE
===================== */


@media(max-width:900px){


nav{

display:none;

}



.hero{

flex-direction:column;

text-align:center;

padding:40px 20px;

}



.hero-content,
.hero-decoration{

width:100%;

}



.hero h1{

font-size:38px;

}



.hero p{

font-size:15px;

}



.products-grid{

grid-template-columns:1fr;

}



.plan-grid{

grid-template-columns:repeat(2,1fr);

}



.pack-grid{

grid-template-columns:1fr;

}



.plan-dishes{

grid-template-columns:1fr;

}



.menu,
.packs,
.about,
.cart-page{

padding:45px 20px;

}



.plan-selector{

width:100%;

height:100vh;

max-height:none;

border-radius:0;

padding:22px;

}



.cart-product-card{

gap:10px;

}



.checkout-form{

padding:22px 18px;

}



#admin-panel{

margin:20px auto;

}



#admin-panel .checkout-form{


padding:22px 18px;


}



#admin-dishes .cart-product-card{


flex-direction:row;


}


}
/* ==========================================
   DATE INPUT FINAL FIX CHROME
========================================== */


.checkout-form input[type="date"] {

    color: var(--cream);

    background: var(--dark);

    padding-right: 15px;

    position: relative;

    color-scheme: dark;

}


/* Texto interno de fecha */

.checkout-form input[type="date"]::-webkit-datetime-edit {

    color: var(--cream);

}



.checkout-form input[type="date"]::-webkit-datetime-edit-fields-wrapper {

    color: var(--cream);

}



.checkout-form input[type="date"]::-webkit-datetime-edit-text {

    color: #aaa;

}



.checkout-form input[type="date"]::-webkit-datetime-edit-day-field,
.checkout-form input[type="date"]::-webkit-datetime-edit-month-field,
.checkout-form input[type="date"]::-webkit-datetime-edit-year-field {

    color: var(--cream);

}



/* Icono calendario */

.checkout-form input[type="date"]::-webkit-calendar-picker-indicator {

    opacity:1;

    cursor:pointer;

    filter:none;

    background-color:transparent;

    width:24px;

    height:24px;

}
