/* Device List Container Styles*/

/* CSS Variables */
:root {
	--handle-w: 24px;
	--panel-ease: cubic-bezier(0.4, 0.0, 0.2, 1);
}

.wrapper {
    overflow: hidden; /* Prevent horizontal scroll when panel is open */
}

@media (max-width: 900px) {
  #main-content,
  .container.single-template,
  #device-content-wrapper.page-dev-list {
    width: 100% !important;
    max-width: 100vw;
    min-width: 0;
    box-sizing: border-box;
    padding: 0 2vw;
    display: block;
  }
  .left-panel {
    width: 250px !important;
    max-width: 250px;
    min-width: 200px;
    float: left !important;
    margin-bottom: 18px;
    margin-right: 10px;
    height: auto;
    position: sticky !important;
    top: 100px;
    z-index: 20;
  }
  .list-page-wrapper {
    padding: 8px 8px 8px 8px !important;
    width: calc(100% - 260px) !important;
    min-width: 0;
    max-width: calc(100vw - 270px);
    box-sizing: border-box;
    display: block;
    position: static !important;
    float: right !important;
    z-index: 2;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    margin-bottom: 0;
  }
  .list-wrapper {
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    float: none !important;
    display: block !important;
    margin: 0;
    padding: 0;
  }
  
  /* Reduce widths of elements inside left-panel */
  .left-panel-title-div {
    width: 190px !important;
    margin: 6px 5px -3px 5px;
  }

  .left-panel-title .material-icons {
    font-size: 16px !important;
    padding: 1px;
  }
  
  #search-tab-content {
    width: 190px !important;
    margin: 0 1px 5px 5px;
  }
  
  #option-tab-content {
    width: 190px !important;
    margin: 0 1px 0 5px;
  }
  
  .ui-tabs-vertical {
    width: 190px !important;
  }
  
  .ui-tabs-vertical .ui-tabs-panel {
    width: 120px !important;
  }
  
  #devsearch {
    width: 120px !important;
  }
  
  #devsearch-button {
    width: 45px !important;
  }
}

@media (max-width: 600px) {
  #main-content,
  .container.single-template,
  #device-content-wrapper.page-dev-list {
    width: 100vw !important;
    max-width: 100vw;
    min-width: 0;
    box-sizing: border-box;
    padding: 0 1vw;
    display: block;
  }
  .left-panel {
    /* Make panel overlay instead of pushing content */
    position: fixed !important;
    top: 96px !important;
    left: 0;
    max-width: 80vw;
    height: 80dvh !important;
    z-index: 1000 !important;
    background: #fff;
    box-shadow: 2px 0 12px rgba(0,0,0,0.3);
    float: none !important;
    margin: 0 !important;
    padding-top: 50px; /* Space for close button */
    border-radius: 0 22px 22px 0;
  }

  .list-page-wrapper {
    /* Full width since panel doesn't take up layout space */
    padding: 4px 1vw 4px 1vw !important;
    width: 100vw !important;
    min-width: 0;
    max-width: 100vw;
    box-sizing: border-box;
    display: block;
    position: static !important;
    float: none !important;
    z-index: 2;
  }
  .list-wrapper {
    max-width: 100vw;
    min-width: 0;
    box-sizing: border-box;
    float: none !important;
    display: block !important;
    margin: 0;
    padding: 0;
  }

  .ui-tabs-vertical .ui-tabs-panel {
    font-size: 0.8em !important;
  }

  .brand-tab {
    height: 250px !important;
  }
}

/* Generic Class */
.sumpet {
	display:none;
}

.left-panel {
    position: sticky;
    top: 100px;
    z-index: 100;
    display: block;
    float: left;
    width: 229px;
    height: auto;
    padding: 0 0 8px 0;
    /* Use transform-only transition for better perf */
    transition: transform 0.3s var(--panel-ease);
    will-change: transform;
    /* OPEN (default): fully visible, aligned to its normal spot */
    transform: translateX(0);
}

.left-panel.is-collapsed{
  transform: translateX(calc(-100%));
}

.left-panel.is-collapsed.collapse-free-space{
  /* Reduce the float’s width so the layout can expand.
     (Width change is not animated; the slide uses transform.) */
  width: var(--handle-w);
  padding: 0; /* optional, keeps it tidy */
}

#leftPanelHandle{
  position: fixed;
  left: 0;                           /* hug the screen edge */
  top: 40%;                          /* vertical placement */
  transform: translateY(-50%);
  width: var(--handle-w);
  min-height: 120px;                 /* tall-ish tab */
  border: 0;
  border-radius: 0 6px 6px 0;
  background: #1f85c0;
  color: #fff;
  cursor: pointer;
  z-index: 1001;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 8px 4px;
}

/* Icon inside the handle - using Material Icons */
#leftPanelHandle .material-icons {
  font-size: 20px;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

/* Only show handle on small screens (<=600px) when collapsed */
@media (max-width: 600px) {
  .left-panel.is-collapsed ~ #leftPanelHandle,
  #list-left-panel.is-collapsed ~ #leftPanelHandle {
    display: flex !important;
  }
}

/* Hide handle on larger screens */
@media (min-width: 601px) {
  #leftPanelHandle {
    display: none !important;
  }
  
  /* Ensure panel is always visible on large screens */
  .left-panel,
  #list-left-panel {
    transform: translateX(0) !important;
  }
}

/* Optional hover nudge */
#leftPanelHandle:hover{
  filter: brightness(1.05);
}

/* Close button inside panel (right edge) */
#leftPanelClose {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 50%;
  background: #1f85c0;
  color: #fff;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1001;
  transition: all 0.2s ease;
}

#leftPanelClose .material-icons {
  font-size: 20px;
}

#leftPanelClose:hover {
  background: #166a9f;
  transform: scale(1.1);
}

/* Only show close button on small screens when panel is open */
@media (max-width: 600px) {
  #leftPanelClose {
    display: flex !important;
  }
  
  .left-panel.is-collapsed #leftPanelClose {
    display: none !important;
  }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  #list-left-panel{ transition: none; }
}


@media (min-width: 768px) {
  body.admin-bar .left-panel {
    top: 118.5px;
  }
}

@media (min-width: 768px) {
  body.admin-bar .left-panel {
    top: 118.5px;
  }
}

.isi { padding: 10px; }
.isi li { float: left; height: 150px; position: relative; text-align: center; width: 169px; }
.isi li a { color: #767676; opacity:0.9; font-family: "Lato", "Open Sans", Helvetica, Arial, sans-serif; font-size:14px; padding: 3px 0px; }
.isi li a:hover { color: #000; opacity:1.0; -webkit-transition: color 0.5s ease-out; -moz-transition: color 0.5s ease-out; -o-transition: color 0.5s ease-out; transition: color 0.5s ease-out; }

.brand-tab { float:left; width: 100%; display:block; }

.list-page-wrapper {padding: 6px 3px 5px 8px; display: inline-block; width: calc(100% - 229px - 11px); height: auto; }

.list-wrapper {
	float:left; display: block; width: 100%; height: auto;
	}

/* Category Intro Section Styles */
.category-intro-section {
    width: 100%;
    background: linear-gradient(135deg, #f5f7fa 0%, #fff 100%);
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 24px;
    margin: 4px 0 10px 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.category-intro-content h2 {
    color: #2c3e50;
    font-size: 24px;
    margin-bottom: 16px;
    font-weight: 600;
    line-height: 1.3;
}

.category-intro-content > p {
    color: #555;
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 20px;
}

.intro-highlights {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 16px;
    margin: 24px 0;
}

.intro-highlight-item {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    padding: 16px;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.intro-highlight-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.intro-highlight-item .material-icons {
    font-size: 36px;
    color: #3498db;
    margin-bottom: 8px;
    display: block;
}

.intro-highlight-item h3 {
    color: #2c3e50;
    font-size: 16px;
    font-weight: 600;
    margin: 8px 0;
}

.intro-highlight-item p {
    color: #666;
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
}

/* Responsive adjustments for category intro */
@media (max-width: 768px) {
    .category-intro-section {
        padding: 16px;
        margin-bottom: 16px;
    }
    
    .category-intro-content h2 {
        font-size: 20px;
    }
    
    .intro-highlights {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .category-intro-section {
        padding: 12px;
        border-radius: 6px;
    }
    
    .category-intro-content h2 {
        font-size: 18px;
        margin-bottom: 12px;
    }
    
    .category-intro-content > p {
        font-size: 14px;
    }
}

/* Category More Info Section */
.category-more-info {
    width: 100%;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 24px;
    margin: 20px 0 20px 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    display: inline-block;
}

.category-more-content h2 {
    color: #2c3e50;
    font-size: 22px;
    margin-bottom: 16px;
    font-weight: 600;
    border-bottom: 2px solid #3498db;
    padding-bottom: 8px;
}

.category-more-content p {
    color: #555;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 16px;
    text-align: justify;
}

/* Category Tools Section */
.category-tools-section {
    width: 100%;
    background: linear-gradient(135deg, #7ec8e3 0%, #b4dced 50%, #c8e6f0 100%);
    border-radius: 8px;
    padding: 24px;
    margin: 20px 0 20px 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    display: inline-block;
}

.category-tools-content h2 {
    color: #000;
    font-size: 22px;
    margin-bottom: 12px;
    font-weight: 600;
}

.category-tools-content > p {
    color: #000;
    font-size: 15px;
    margin-bottom: 20px;
}

.tools-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
}

.tool-card {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 8px;
    padding: 20px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.tool-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.2);
    background: #ffffff;
}

.tool-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    background: #7ec8e3;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tool-icon .material-icons {
    font-size: 28px;
    color: #ffffff;
}

.tool-info h3 {
    color: #000;
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 8px 0;
}

.tool-info p {
    color: #000;
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

/* Responsive adjustments for additional sections */
@media (max-width: 900px) {
    .category-more-info,
    .category-tools-section {
        width: calc(100% - 260px);
        margin-left: 0;
        margin-right: 0;
        float: right;
    }
}

@media (max-width: 768px) {
    .category-more-info,
    .category-tools-section {
        width: 100%;
        margin-left: 0;
        padding: 16px;
    }
    
    .category-more-content h2,
    .category-tools-content h2 {
        font-size: 20px;
    }
    
    .category-more-content p,
    .category-tools-content > p {
        font-size: 14px;
    }
    
    .tools-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .category-more-info,
    .category-tools-section {
        padding: 12px;
        border-radius: 6px;
    }
    
    .category-more-content h2,
    .category-tools-content h2 {
        font-size: 18px;
    }
    
    .tool-card {
        padding: 16px;
        gap: 12px;
    }
    
    .tool-icon {
        width: 40px;
        height: 40px;
    }
    
    .tool-icon .material-icons {
        font-size: 24px;
    }
    
    .tool-info h3 {
        font-size: 15px;
    }
    
    .tool-info p {
        font-size: 13px;
    }
}

/* FAQ Section */
.category-faq-section {
    width: 100%;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 24px;
    margin: 20px 0 20px 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    display: inline-block;
}

.category-faq-content h2 {
    color: #2c3e50;
    font-size: 22px;
    margin-bottom: 20px;
    font-weight: 600;
    border-bottom: 2px solid #3498db;
    padding-bottom: 8px;
}

.faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.faq-item {
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.faq-item:hover {
    border-color: #3498db;
}

.faq-question {
    width: 100%;
    background: #f8f9fa;
    border: none;
    padding: 16px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s ease;
}

.faq-question:hover {
    background: #e9ecef;
}

.faq-item.active .faq-question {
    background: #3498db;
    color: #ffffff;
}

.faq-question-text {
    font-size: 16px;
    font-weight: 600;
    color: #2c3e50;
    flex: 1;
}

.faq-item.active .faq-question-text {
    color: #ffffff;
}

.faq-icon {
    font-size: 24px;
    color: #666;
    transition: transform 0.3s ease;
}

.faq-item.active .faq-icon {
    transform: rotate(180deg);
    color: #ffffff;
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    background: #ffffff;
}

.faq-item.active .faq-answer {
    max-height: 500px;
}

.faq-answer p {
    padding: 20px;
    margin: 0;
    color: #555;
    font-size: 15px;
    line-height: 1.7;
    text-align: justify;
}

/* Responsive adjustments for FAQ */
@media (max-width: 900px) {
    .category-faq-section {
        width: calc(100% - 260px);
        margin-left: 0;
        margin-right: 0;
        float: right;
    }
}

@media (max-width: 768px) {
    .category-faq-section {
        width: 100%;
        margin-left: 0;
        padding: 16px;
    }
    
    .category-faq-content h2 {
        font-size: 20px;
    }
    
    .faq-question {
        padding: 14px 16px;
    }
    
    .faq-question-text {
        font-size: 15px;
    }
    
    .faq-answer p {
        padding: 16px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .category-faq-section {
        padding: 12px;
        border-radius: 6px;
    }
    
    .category-faq-content h2 {
        font-size: 18px;
        margin-bottom: 16px;
    }
    
    .faq-question {
        padding: 12px 14px;
    }
    
    .faq-question-text {
        font-size: 14px;
    }
    
    .faq-icon {
        font-size: 20px;
    }
    
    .faq-answer p {
        padding: 14px;
        font-size: 13px;
    }
}

.left-panel-title-div {
	width: 215px; border-top: 1px solid #ddd; position: relative; display: block; margin: 6px 5px -3px 5px; padding-top: 2px; z-index:2;
}

.left-panel-title {
	margin-left: 5px; margin-bottom: 2px; padding: 1px; width: 65%; display: block; 
}

.search-tab { float:left; width: 100%; display:block; }

#search-tab-content {
	clear:left; width: 215px; height: 50px; margin: 0 1px 5px 5px; padding: 3px; background-color: #fff; padding: 8px; position: relative; display: block; border: 1px solid #aaa;
}

#option-tab-content {
	clear:left; width: 215px; height: auto; margin: 0 1px 0 5px; padding: 3px; background-color: #fff; padding: 8px; position: relative; display: block; border: 1px solid #aaa;
}

#devsearch {
	float:left; width: 140px; display: block; height: 29px;
}

#devsearch-button {
	float:left; width: 51px; display: block; height: 29px; margin-left: 5px;
}

#tabs {
	clear: left;
}

.result-stat-wrapper {
	float: left; width: 100%; padding: 2px; margin-bottom: 3px;
}

#result-stat {
	display: block; padding: 1px;
}

#result-stat p {
	margin: 0;
}

.phone-result { 
	display: block; /* keep wrapper functional but not styled */
	width: 23%;
	height: auto;
	padding: 0;
	margin: 0 8px 16px 8px;
	border: none;
	background: transparent;
	box-sizing: border-box;
}

.phone-result img { 
	padding: 0; margin:10px auto 10px auto; 
}

.phone-result p { 
	font-size: 12px; overflow: hidden; text-overflow: ellipsis; margin: 0 auto; line-height: 1.3em; background-color: #F1F1F1; transition: all 0.3s ease-out;
}

/* Ensure only the card itself has hover effects; remove any hover styles on the wrapper (.phone-result) that caused movement */
.phone-card-box {
    /* keep a transparent border so changing the border color on hover doesn't shift layout */
    border: 1px solid transparent;
    box-sizing: border-box;
    transition: box-shadow 0.18s ease, border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
    background-color: transparent;
    position: relative;
}

.phone-card-box:hover {
    -webkit-box-shadow: 0 0 3px #0F0;
    -moz-box-shadow: 0 0 3px #0F0;
    box-shadow: 0 0 3px #00FF00;
    border-color: #e6e6e6; /* only change color, not border width */
    background-color: #fff;
}

/* On hover, dim inner paragraphs (kept for compatibility) */
.phone-card-box:hover p{
    background-color: #ddd;
}

/* Reveal checkbox when hovering the card wrapper */
.phone-card-box:hover input[type="checkbox"].pilah-check{
    visibility: visible; box-shadow:0 0 5px #00FF00;
}

.vert-tab { margin: 0px 1px 5px 5px; border: 0; padding-top: 6px !important;}

input[type="checkbox"].pilah-check {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 40;
    visibility: hidden;
    width: 18px;
    height: 18px;
    cursor: pointer;
}
div .phone-result:hover p{
	background-color: #ddd;
}
div .phone-result:hover input[type="checkbox"].pilah-check{
	visibility: visible; box-shadow:0 0 5px #00FF00;
}
input[type="checkbox"].pilah-check:active{
	visibility: visible; box-shadow:0 0 5px #00FF00;
}
input[type="checkbox"].pilah-check:checked {
	float:right; visibility: visible;box-shadow:0 0 5px #00FF00;
}

#device-list-content #device-content-wrapper.page-dev-list .article-title { font-family: "Lato", "Open Sans", Helvetica, Arial, sans-serif; font-size: 1.375em; font-weight: 700; padding: 10px 15px; line-height: 1; margin:0px 0px; color:#000; padding-left: 15px; background: -moz-linear-gradient(left, rgba(193,193,193,1) 0%, rgba(125,185,232,0) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(189,224,237,1)), color-stop(100%,rgba(125,185,232,0))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(left, rgba(189,224,237,1) 0%,rgba(125,185,232,0) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(left, rgba(189,224,237,1) 0%,rgba(125,185,232,0) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(left, rgba(189,224,237,1) 0%,rgba(125,185,232,0) 100%); /* IE10+ */
background: linear-gradient(to right, rgb(189,224,237) 0%,rgba(125,185,232,0) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c1c1c1', endColorstr='#007db9e8',GradientType=1 ); /* IE6-9 */;}

/* Device List Page Content Wrapper */
#device-list-content #device-content-wrapper { width: 100%; background:#fff; margin: 0 auto;}
#device-list-content #device-content-wrapper.page .article-title { font-family: "Lato", "Open Sans", Helvetica, Arial, sans-serif; font-size: 1.375em; font-weight: 700; padding: 10px 15px; line-height: 1; margin:0px 0px; color:#000; padding-left: 15px; background: -moz-linear-gradient(left, rgba(193,193,193,1) 0%, rgba(125,185,232,0) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(193,193,193,1)), color-stop(100%,rgba(125,185,232,0))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(left, rgba(193,193,193,1) 0%,rgba(125,185,232,0) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(left, rgba(193,193,193,1) 0%,rgba(125,185,232,0) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(left, rgba(193,193,193,1) 0%,rgba(125,185,232,0) 100%); /* IE10+ */
background: linear-gradient(to right, rgba(193,193,193,1) 0%,rgba(125,185,232,0) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c1c1c1', endColorstr='#007db9e8',GradientType=1 ); /* IE6-9 */;}

.page-dev-list article { padding: 1.188em;font-family: "Lato", "Open Sans", Helvetica, Arial, sans-serif;padding-top: 0;font-size: 14px; line-height: 1.3; }
.page-dev-list article ul { margin-left: 20px; }
.page-dev-list article ul li { list-style-type: none; }
.page-dev-list a, #lower-footer a { color: #3baeda; text-decoration: none; }
.page-dev-list a:hover , #lower-footer a:hover{ text-decoration: none;}
.page-dev-list table { width: 100%; }
.page-dev-list table, .page table td, .page table th { border: 1px solid #ddd; padding-left:2px; }
.page-dev-list var { font-weight: bold; font-style: italic; }
.page-dev-list dl dt { font-weight: bold; font-size: 15px; }
.page-dev-list dl dd { font-size: 12px; margin-top: 0; margin-bottom: 10px; }
.page-dev-list cite, .page q { font-style: italic; }
.page-dev-list code, .page var{ font-family: monospace; background: #eee; border-radius: 3px; padding: 0px 3px;}
.page-dev-list sub, .page sup { font-size: 50%; }
.page-dev-list sup { vertical-align: super; }
.page-dev-list article.art-content ul { margin-left: 20px; }
.page-dev-list article.art-content ul li { list-style: circle; line-height: 1;}
.page-dev-list .review-wrap-up ul li { list-style: none !important;}

.brand-logo {
	float: left; display:block; width: 100%; overflow: hidden; text-overflow: ellipsis; border-bottom: thin solid #f2f2f2; font-size: 1em;
}
.brand-logo:hover {
	background-color: #f2f2f2;
}
/* css hijacking from jquery-ui */
  .ui-tabs-vertical { width: 215px; }
  .ui-tabs-vertical .ui-tabs-nav { padding: .2em .1em .2em .1em; float: left; width: 61px; }
  .ui-tabs-vertical .ui-tabs-nav li { clear: left; width: 100%; border-bottom-width: 1px !important; border-right-width: 0 !important; margin: 0 -1px .2em 0; }
  .ui-tabs-vertical .ui-tabs-nav li a { display:block; }
  .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active { padding-bottom: 0; padding-right: .1em; border-right-width: 1px; }
  .ui-tabs-vertical .ui-tabs-panel { padding: 6px 0px 5px 10px !important; float: left; width: 143px; height: 190px; overflow-y: scroll; overflow-x: hidden; text-overflow: ellipsis;}
  .ui-tabs-anchor { font-size: 14px; padding-left: 6px !important;  }

/* banding-transit box style - Updated for seamless integration */
/* banding-transit box style - Updated for seamless integration */
.banding-transbox {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.98);
    border-top: 1px solid #ccc;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
    z-index: 9999;
    padding: 6px 0;
    transition: transform 0.3s ease-out;
    font-family: "Lato", "Open Sans", Helvetica, Arial, sans-serif;
    height: auto;
    border-radius: 0;
    right: auto;
    max-width: none;
    max-height: none;
    overflow-y: visible;
}

.banding-inner-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 10px;
}

#bandingkan {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.banding-header {
    flex: 0 0 auto;
}

.banding-header h6 {
    margin: 0;
    font-size: 14px;
    font-weight: bold;
    color: #333;
    text-transform: uppercase;
}

.banding-slots {
    display: flex;
    flex: 1;
    gap: 10px;
    justify-content: center;
}

.phone-banding-div, .phone-banding-div-stick {
    border-radius: 4px;
    padding: 5px 10px;
    flex: 1;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    position: relative;
    max-width: 200px;
    margin: 0;
    backdrop-filter: none;
    box-shadow: none;
}

.phone-banding-div:not(.sumpet), .phone-banding-div-stick:not(.sumpet) {
    border: 2px solid #3baeda !important;
    background: linear-gradient(135deg, #e8f4fd 0%, #f0f8ff 100%) !important;
}

/* Override sumpet to show placeholders */
.banding-slots .phone-banding-div.sumpet, 
.banding-slots .phone-banding-div-stick.sumpet {
    display: flex !important;
    background: #eee;
    border: 1px dashed #ccc;
    color: #999;
    justify-content: center;
}

.banding-slots .phone-banding-div.sumpet::after, 
.banding-slots .phone-banding-div-stick.sumpet::after {
    content: "Kosong";
    font-style: italic;
}

.banding-slots .phone-banding-div.sumpet .closer,
.banding-slots .phone-banding-div-stick.sumpet .closer {
    display: none;
}

.banding-action {
    flex: 0 0 auto;
    display: flex;
    gap: 10px;
}

.banding-transbox input[type="submit"] {
    height: 40px;
    padding: 0 20px;
    background: linear-gradient(135deg, #00FF00 0%, #00cc00 100%);
    border: none;
    border-radius: 4px;
    font-weight: bold;
    color: #000;
    cursor: pointer;
    transition: all 0.3s ease-out;
    box-shadow: 0 2px 8px rgba(0,255,0,0.3);
    margin: 0;
    float: none;
    bottom: auto;
    font-size: 14px;
}

.banding-transbox input[type="submit"]:hover {
    background: linear-gradient(135deg, #00cc00 0%, #00aa00 100%);
    box-shadow: 0 4px 12px rgba(0,255,0,0.4);
    transform: translateY(-1px);
}

/* Clear Button Styles */
.banding-clear-btn {
    height: 40px;
    padding: 0 15px;
    background: #f44336;
    border: none;
    border-radius: 4px;
    font-weight: bold;
    color: white;
    cursor: pointer;
    transition: all 0.3s ease-out;
    box-shadow: 0 2px 8px rgba(244, 67, 54, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    text-transform: uppercase;
}

.banding-clear-btn:hover {
    background: #d32f2f;
    box-shadow: 0 4px 12px rgba(244, 67, 54, 0.4);
    transform: translateY(-1px);
}
/* Smaller Window between 901px - 1050px Layout */
@media (min-width: 901px) and (max-width: 1050px) {
  .phone-result {
    width: 30%;
  }
}

/* Mobile Layout */
@media (max-width: 768px) {
    .banding-header {
        display: none;
    }
    
    #bandingkan {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 40px 40px;
        gap: 5px;
    }
    
    .banding-slots {
        display: contents;
    }
    
    .phone-banding-div, .phone-banding-div-stick {
        max-width: 95%;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0 5px;
    }
    
    #phone-1-div { grid-row: 1; grid-column: 1; }
    #phone-2-div { grid-row: 1; grid-column: 2; }
    #phone-3-div { grid-row: 2; grid-column: 1; }
    #phone-4-div { grid-row: 2; grid-column: 2; }
    
    .banding-action {
        grid-row: 3;
        grid-column: 1 / span 2;
        display: flex;
        flex-direction: row;
        gap: 5px;
        width: 100%;
    }
    
    .banding-transbox input[type="submit"] {
        flex: 4;
        height: 40px;
        padding: 0;
    }
    
    .banding-clear-btn {
        flex: 1;
        height: 40px;
        padding: 0;
        font-size: 13px;
        margin-right: 8px;
    }
    
    span.closer {
        visibility: visible;
        font-size: 2.2em;
        top: 50%;
        transform: translateY(-50%);
        right: 5px;
    }
    
    span.info-box {
        font-size: 0.9em;
        max-width: 120px;
    }
}

.banding-transbox-title h6 {
    margin: 0;
    color: #2c5f2d;
    font-weight: 600;
    font-size: 1em;
    letter-spacing: 0.3px;
}

span.info-box {
    font-size: 1em;
    padding: 0 4px 0 0;
    transition: all 0.3s ease-out;
    cursor: default;
    color: #333;
    font-weight: 800;
    line-height: 1.1;
    display: block;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

span.closer {
    position: absolute;
    top: 0px;
    right: 2px;
    font-size: 2.2em;
    color: #ff4444;
    visibility: hidden;
    opacity: 0.7;
    cursor: pointer;
    padding: 4px;
    border-radius: 50%;
    transition: all 0.2s ease-out;
    background: transparent;
    margin: 0;
    z-index: 2;
}

span.closer:hover {
    opacity: 1;
    font-size: 2.2em;
    color: #ff4444;
    text-shadow: 0 0 8px #ff8888;
    transform: scale(1.1);
}

.phone-banding-div:hover span.closer {
    visibility: visible;
    opacity: 0.85;
}

.banding-transbox {
    transition: visibility 0.3s, opacity 0.3s ease-out, transform 0.3s ease-out;
}

.kasat {
    visibility: hidden;
    opacity: 0;
    transform: translateY(100%);
}

.sumpet {
    display: none;
}

#pesan {
    clear: left;
    font-size: 0.8em;
    color: #d32f2f;
    background: rgba(255,235,59,0.9);
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    padding: 8px 12px;
    margin: 0 4px 8px 4px;
    border-radius: 8px;
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255,193,7,0.3);
    font-weight: 500;
}

/* Mobile responsive adjustments */
@media only screen and (max-width: 767px) {
    span.info-box {
        font-size: 0.85em;
        max-width: 140px;
    }
    
    #pesan {
        font-size: 0.75em;
        padding: 6px 8px;
        margin: 0 2px 6px 2px;
    }
}

/* Additional refinements for better integration */
.banding-transbox * {
    box-sizing: border-box;
}

/* Ensure consistent spacing */
.phone-banding-div input[type="hidden"] {
    display: none;
}

/* Smooth animation for showing/hiding divs */
.phone-banding-div {
    overflow: hidden;
    transition: max-height 0.3s ease-out, padding 0.3s ease-out, margin 0.3s ease-out;
}

.phone-banding-div:not(.sumpet) {
    max-height: 40px;
}

/* Blue glow effect for selected phone cards */
.selected-phone {
    border: 2px solid #2196f3 !important;
    box-shadow: 0 0 12px 2px #2196f3;
    transition: box-shadow 0.2s, border-color 0.2s;
}

/* Enhanced selected phone blue glow effect */
.selected-phone {
	box-shadow: 0 0 15px rgba(59, 174, 218, 0.6) !important;
	border: 2px solid #3baeda !important;
	background: linear-gradient(135deg, #e8f4fd 0%, #f0f8ff 100%) !important;
	transform: scale(1.02);
	transition: all 0.3s ease;
}

/* Cookie system success indicators */
.cookie-save-success {
	position: relative;
}

.cookie-save-success::after {
	content: "✓ Saved";
	position: absolute;
	top: -20px;
	right: 5px;
	background: #4caf50;
	color: white;
	padding: 2px 6px;
	border-radius: 3px;
	font-size: 10px;
	opacity: 0;
	animation: fadeInOut 2s ease-in-out;
}


/* Improved banding transbox for better cookie integration */
.banding-transbox {
	box-shadow: 0 8px 25px rgba(0,0,0,0.15);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.banding-transbox-title {
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
	user-select: none;
	cursor: move;
}

/* Additional phone card enhancements for cookie feedback */
.phone-card-box {
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.phone-card-box:hover {
	transform: translateY(-2px);
}

/* Ensure checkbox visibility and interaction */
input[type="checkbox"].pilah-check {
	z-index: 10;
	transition: all 0.2s ease;
}

input[type="checkbox"].pilah-check:hover {
	transform: scale(1.1);
	box-shadow: 0 0 8px rgba(0, 255, 0, 0.5);
}

.ui-autocomplete-category {
    font-weight: bold;
    padding: 2px 0 0 0;
    margin: 0;
    line-height: 1.5;
  }

#paginate-box {
	clear:left; width:97%; cursor:pointer; border: 1px solid #00FF00; padding: 3px; height: 28px; background-color: #00FF00; color: black; margin: 6px 0 6px 0; transition: all 0.2s ease-out; display:block;
}
#paginate-wrapper {
	position: absolute; margin: 0 auto; left: 50%; font-size: 12px; 
}
#paginate-box:hover {
	background-color: white; color: #000; 
}
#paginate-box:active {
	background-color: white; color: #01ff01;
}

.spacer {
	padding-top: 8px; clear:left;
}

a.back-to-top {
	display: none;
	width: 60px;
	height: 60px;
	position: fixed; margin: 0 auto;
	z-index: 999;
	right: 20px;
	bottom: 20px;
	opacity: 0.5;
	background: #efefef url("/wp-content/uploads/2016/11/up-arrow.png") no-repeat center;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
}

a.back-to-top:hover {
	background: #fff url("/wp-content/uploads/2016/11/up-arrow.png") no-repeat center;
	opacity: 1;
}

.phone-result a {
	color: #222;
}

.left-panel i {
	float:left; font-size: 18px; margin-left: 2px; margin-right: 5px; padding-top: 1px;
}

.list-page-wrapper i {
	float:left; font-size: 18px; margin-left: 2px; margin-right: 5px; padding-top: 0px;
}

#loading2 {
	position: absolute; left: 50%; top: 120px; text-align: center;
}

#newest-phone {
	width: 100%; padding: 0 1% 0 1%; margin: 0 auto; text-align: center;
}

@media (max-width: 600px) {
    .banding-transbox {
        min-width: 100%;
        padding: 10px 2px;
    }
    .banding-transbox-drag-handle {
        font-size: 0.9em;
        padding: 4px 8px;
    }
}

@media only screen and (max-width: 767px) {
	div.left-panel {
		width: 30%;
	}
	#device-list-content #device-content-wrapper {
		width: 100%; 
	}
	div.left-panel-title h6 {
		font-size: 0.9em;
	}
	div.left-panel-title-div {
		width: 100%; 
	}
	div.tabs-container {
		width: 100%; font-size: 1em; 
	}
	div.ui-tabs-vertical .ui-tabs-panel {
		width: 100%; overflow-x:hidden;
	}
	div.vert-tab {
		width: 100%; height: 200px;
	}
	div#option-tab-content {
		width: 100%; font-size: 0.8em; padding: 2px !important; 
	}
	div#option-tab-content label {
		font-size: 1em;
	}
	div#option-tab-content input {
		border-bottom: solid 1px #ddd;
	}
	div#search-tab-content {
		width: 100%; font-size: 0.8em; padding-left: 6px !important;
	}
	div#search-tab-content label {
		font-size: 1em;
	}
	div#search-tab-content input {
		border-bottom: solid 1px #ddd;
	}
	div.list-page-wrapper {
		width: 100%; margin-left: 2%;
	}
	div#paginate-box {
		height: 50px; display: block;
	}
	div#paginate-wrapper {
		display: block; text-align: center; font-size: 1.1em; position: relative; left: 0;
	}
	i.material-icons {
		display: none;
	}
	.banding-transbox {

	}
	
	.banding-transbox-title {
		padding: 10px 12px 6px 12px;
		border-top-left-radius: 11px;
		border-top-right-radius: 11px;
	}
	
	.banding-transbox-title h6 {
		font-size: 0.9em;
	}
	
	span.info-box {
		font-size: 0.8em;
		max-width: 200px;
	}
	
	.phone-banding-div {
		padding: 6px 10px;
		margin: 0 2px;
	}
	
	.banding-transbox input[type="submit"] {
		font-size: 0.9em;
		padding: 6px 12px;
	}
	
	#pesan {
		font-size: 0.75em;
		padding: 6px 10px;
		margin: 0 2px 6px 2px;
	}
	input.pilah-check[type="checkbox"] {
		display: inline; visibility: visible; 
	}
	.phone-result { 
		width: 92%;
	}
	.phone-result p { 
		font-size: 0.98em;
	}
	#option-form label {
		width:100%; height: 3em; text-align: left; 
	}
	#option-form2 label {
		width:100%; text-align: left; 
	}
	#option-form label span {
		font-size: 1em; padding-left: 6px;
	}
	#option-form2 label span {
		font-size: 1em; padding-left: 6px;
	}
	#loading2 {
		position: absolute; left: 50%; top: 160px; text-align: center; 
	}
	#loading2 img {
		width: 100%;
	}
	#newest-phone {
		width: 100%; 
	}

    input[type="checkbox"].pilah-check {
      visibility: visible !important; top: 4px; right: 4px;
    }
}

/* Phone card styles adapted from style-list-car.css but IMAGE-FREE */
.phone-card-box {
    width: 100%;
    max-width: 320px;
    height: 300px; /* fixed height as requested */
    min-height: 300px;
    overflow: hidden;
    border: 1px solid rgba(170,170,170,0.35);
    border-radius: 12px;
    margin: 0 12px 16px 0;
    padding: 12px;
    box-shadow: none;
    transition: box-shadow 0.3s, background 0.3s, border-color 0.3s;
    text-align: center;
    display: inline-block;
    vertical-align: top;
    position: relative;
    background: linear-gradient(135deg, rgba(248,255,248,0.95) 0%, rgba(234,255,234,0.95) 100%);
    backdrop-filter: blur(6px) saturate(140%);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

/* internal content borders for phone card sections */
.phone-card-box .phone-model-name {
    display: block;
    padding: 6px 8px 8px 8px;
    background: transparent;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 0 0 30%; /* fixed 30% of card height */
    padding: 10px 8px;
}

.phone-card-box .model-manufacturer {
    font-size: 1em;
    color: #2c5f2d;
    display: block;
}
.phone-card-box .model-name {
    font-size: 1.3em;
    font-weight: 700;
    display: block;
    margin-top: 3px;
}
.phone-card-box .phone-meta {
    padding: 0px;
    font-size: 0.8em;
    color: #666;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 8%; /* fixed 8% of card height */
}

/* Make phone-specs stretch to touch the card's left/right borders by
   using negative horizontal margins that match the card padding (12px).
   Add inner horizontal padding so content doesn't touch the border. */
.phone-card-box .phone-specs {
	width: calc(100% + 24px); /* full width plus card horizontal padding */
    margin: 0 -12px 0 -12px; /* pull the box to the edges of the card */
    padding: 3px 5px; /* inner spacing for spec rows */
    font-size: 0.85em;
    color: #333;
    text-align: left;
    background: transparent;
    border-radius: 0 0 12px 12px; /* match card bottom corners */
    box-sizing: border-box;
    overflow-y: visible;
}

/* ensure content fits within fixed height without overflow breaking layout */
.phone-card-box .phone-model-name,
.phone-card-box .phone-meta,
.phone-card-box .phone-specs {
    box-sizing: border-box;
}

@media (max-width: 900px) {
  .phone-card-box { max-width: none; width: 92%; margin: 10px auto;}

  .phone-result { 
		display: inline-flex; /* keep wrapper functional but not styled */
		width: 40%;
		height: auto;
		padding: 0;
		margin: 0 8px 8px 8px;
		border: none;
		background: transparent;
		box-sizing: border-box;
	}
}
@media (max-width: 600px) {
  .phone-card-box { width: 92%; display: block; margin: 10px auto; }
}

/* Hide images explicitly to avoid using any image assets */
.phone-card-box img,
.phone-result img { display: none !important; }

/* pilah-check (compare checkbox) styling and behavior
   Position it absolute relative to the wrapper and keep it hidden by default.
   Reveal when the user hovers the wrapper or the card. */
input[type="checkbox"].pilah-check {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 40;
    visibility: hidden;
    width: 18px;
    height: 18px;
    cursor: pointer;
}

/* Reveal checkbox when hovering either the outer wrapper or the card itself */
.phone-result:hover input[type="checkbox"].pilah-check,
.phone-card-box:hover + input[type="checkbox"].pilah-check,
.phone-card-box:hover input[type="checkbox"].pilah-check {
    visibility: visible;
}

/* Fallback: ensure checkbox remains clickable even when visibility toggles */
input[type="checkbox"].pilah-check:active,
input[type="checkbox"].pilah-check:focus,
input[type="checkbox"].pilah-check:checked {
    visibility: visible;
    box-shadow: 0 0 5px rgba(0,200,80,0.5);
}

/* Keep old phone-result class visually compatible */
.phone-result { display:inline-block; vertical-align:top; }

/* Small helpers to align with car styles */
.car-card-box, .phone-card-box { box-sizing: border-box; }

/* platform-like badges (if used) */
.platform-suv { background: linear-gradient(135deg, #e8f7ff 0%, #edfff9 100%); border-radius: 6px; padding: 6px; }
.platform-mpv { background: linear-gradient(135deg, #fff4e8 0%, #fff7f1 100%); border-radius: 6px; padding: 6px; }
.platform-sedan { background: linear-gradient(135deg, #f7f7ff 0%, #fbfbff 100%); border-radius: 6px; padding: 6px; }

/* Spec row boxes inside phone-specs */
.phone-specs .spec-row {
    display: flex;
    gap: 3px;
    align-items: center;
    padding: 3px 6px;
    border-radius: 6px;
    
    margin-bottom: 0px;
}
.phone-specs .spec-icon {
    font-size: 20px;
    color: #2c5f2d;
    min-width: 24px;
}
.phone-specs .spec-text { flex: 1 1 auto; max-height: 40px; overflow: hidden; text-overflow: ellipsis; }
/* .phone-specs .spec-key { font-weight: 700; margin-right: 6px; } */
.phone-specs .spec-value { color: #333; }

/* Slight variation for RAM/ROM to show two values side-by-side */
.spec-ram .spec-value { display: inline-block; }

/* Ensure last item spacing */
.phone-specs .spec-row:last-child { margin-bottom: 0; }

@media only screen and (max-width: 767px) {
    .phone-card-box { width: 100%; max-width: 420px; display: block; margin: 10px auto; height: auto; min-height: 150px; }
	.phone-result { 
        width: 44%;
        margin: 10px 5px;
	}
	
	.phone-card-box .phone-model-name {
		display: block;
		height: 42%;
		padding: 6px 8px 8px 8px;
		background: transparent;
		text-align: center;
		display: flex;
		flex-direction: column;
		justify-content: center;
		flex: 0 0 36%; /* fixed 36% of card height */
		padding: 10px 8px;
	}

	.phone-card-box .model-manufacturer {
		font-size: 1em;
		color: #2c5f2d;
		display: block;
	}
	.phone-card-box .model-name {
		font-size: 1.3em;
		font-weight: 700;
		display: block;
		margin-top: 3px;
	}
	.phone-card-box .phone-meta {
		padding: 0px;
		font-size: 0.8em;
		color: #666;
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 8%; /* fixed 8% of card height */
	}
		
	.phone-card-box .phone-specs {
		display: none;
	}

}

.global-tag {
  display: inline-block;
  font-size: 0.6rem;
  line-height: 1;
  padding: 2px 6px;
  margin-left: 8px;
  border-radius: 12px;
  background: #9dff00;
  color: #333;
  border: 1px solid #fff;
  vertical-align: middle;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}
